Windows Phone 8 SDK ile birlikte coğrafi konum API güncellendi, yeni API ile birlikte Geolocator sınıfı kullanımımıza açılmış oldu.
Windows Phone 7.5 SDK‘da yer alan GeoCoordinateWatcher sınıfı halen kullanımda, fakat özellikle Windows Phone 8 destekleyecek uygulamaların yeni Geolocator sınıfını kullanması tavsiye ediliyor.
Geolocator sınıfını kullanarak cihazın yerini bulmamız ve takip edebilmemiz mümkün.
Telefonun yerini bir defa bulmamız gerekiyorsa basitçe GetGeopositionAsync() methodunu çağırmamız yeterli.
Geolocator sınıfı ayrıca, PositionChanged event‘i sayesinde konumu takip edebilmemize de olanak sağlıyor.
Uygulama içerisinde konum bilgisini okuyabilmek için WMAppManifest.xml dosyasında Capabilities tabında yer alan ID_CAP_LOCATION kutucuğunu işaretlemiş olmamız gerekiyor.
Geolocator sınıfı Windows.Devices.Geolocation namaspace’i içerisinde tanımlıdır, kullanabilmek için öncelikle ilgili sınıfın using alanına eklememiz gerekiyor;
using Windows.Devices.Geolocation;</pre>
Ayrıca GetGeopositionAsync() method’u asenkron bir method olduğu için başına await anahtar kelimesini eklemeliyiz ve ilgili method’u async anahtar kelimesi ile işaretlemeliyiz;
private async void GetLocation() { Geolocator locator = new Geolocator(); Geoposition position = await locator.GetGeopositionAsync(); Geocoordinate coordinate = position.Coordinate; lblLatitude.Text = "Lat : " + coordinate.Latitude; lblLongitude.Text = "Long: " + coordinate.Longitude; } Sonuçta aşağıdaki ekranı görmemiz lazım; ![](/assets/uploads/2013/07/GeoLocator.png)
Senior Software Engineer, @Microsoft
Ada ve Ege'nin babası ;)
Makale Adedi: 484