İçeriğe geç

MKLocalSearch kullanımı

Merhabalar bu yazımda İOS ile MapKit uygulamaları yazarken harita üzerinde nasıl hızlı bir şekilde lokasyon araması yaparız bunu göstereceğim.

MapKit üzerinde bulunan dünya haritasında tüm lokasyonlar mevcut ve uygulama içerisinde konum bilgilerini almak istediğimiz şehre,ülkeye direkt olarak kullanıcıya gösterebilir veya aranan bölgeyi işaretleyebilirsiniz.

Bu işlemi yapmak için MKLocalSearch ve MKLocalSearchRequest sınıfından yararlanacağız.

Uygulama içerisinde UISearchBar ve delegate fonksiyonlarını kullanarak anlık olarakta harf harf arama işaretleme yapabilirsiniz.

Aşağıda sınıfın kullanımına örnek yazdığım kodu inceleyebilirsiniz.

  let request = MKLocalSearchRequest()
        request.naturalLanguageQuery = "Adana"
        request.region = mView.region
        
        let search = MKLocalSearch(request: request)
        search.start { response, error in
            
            guard let response = response else {
                print(" \(String(describing: request.naturalLanguageQuery)) error: \(String(describing: error))")
                return
            }
            
            for item in response.mapItems {
                
                let mkanot = MKPointAnnotation()
                mkanot.coordinate = item.placemark.coordinate
                self.mView.addAnnotation(mkanot)
                
            }
        }

MKLocalSearchRequest sınıfı ile belirlemiş olduğumuz region ve aranacak kelimeyi MKLocalSearch sınıfına parametre olarak gönderip sonuç alıyoruz.

response data içerisindeki mapItems ile bulunan bölgenin tüm özelliklerine erişebilmekteyiz. Bende örnek üzerinde bulunan yeri harita üzerinde işaretleme işlemi yaptım.

Tarih:iOSMapKit

Bu yazı yorumlara kapalı.

Copyright © 2020 Kenan Atmaca