C# Enlem ve Boylam ile Şehir Öğrenme

By Burak TUNGUT - 21.11.2012 - Kategori Windows Phone 8

Bu makale ile enlem ve boylam bilgisini parametre olarak alıp, geriye plaka bilgisini döndüren bir method yazacağız.
Tüm bu işlemleri yapabilmek için öncelikle GeoCode adındaki Google Api'sini inceliyor ve örnek içinde kullanıyor olacağız.

Bir senaryo düşünelim,
Uygulamamız Türkiye de ki tüm hastanelerin konumlarını içeren bir bilgiye sahip ve GPS yardımıyla en yakın hastaneleri görmek istiyoruz. Bu durumda önümüze 2 yol çıkacaktır.

  1. Tüm hastanelerin enlem ve boylamları mevcut olduğundan dolayı, GPS ile konumumuzu alarak fizik derslerimizden hepimizin hatırladığı 2 nokta arasındaki fark (x ve y koordinatlarının kendi aralarında kare farklarının toplamları) formülü ile belli bir aralıktaki verileri alabiliriz. Ancak İstanbul gibi bir yerde uzaklık-yakınlık konusu için belli bir aralığı girebilmek pekde kolay olmayacaktır :)
  2. Ve bizim bu makale ile kullanacağımız yol ise yine GPS den enlem ve boylam bilgisini çekmek ve bu bilgiler ile hangi şehirde olduğumuzu bulmak, o şehirdeki tüm hastaneleri listelemek olacaktır.

Tabi ki uygulama için hastane gibi bir entity yaratmaya kalkmayacağız. Sadece Enlem ve boylam bilgisi ile nasıl bilgiler alabileceğimizi göreceğiz.
Tüm bu bilgileri çekebileceğimiz neyseki bir Google Api'si mevcut. Enlem ve boylam bilgisini alan ve geriye çeşitli bilgiler geri döndüren bu api yi inceleyelim,

http://maps.google.com/maps/api/geocode/xml?latlng={latlng}&sensor={sensor}&region={region}

İlk parametre enlem,boylam ikinci parametre false olarak kullanacağımız sensör ve üçüncü parametremiz ise tr olarak kullanacağımız bölge değerlerini alacaktır.
İstanbul da rasgele bir nokta seçelim. Aslında bu noktada emulatörümüzü kullanabiliriz,

Emülatörümüzün sağ tarafında en alttaki butona tıklayarak Tools sayfamıza ulaşalım ve Location bölgesinde arama kutusuna İstanbul yazıp enter diyelim. İstanbula herhangi bir noktaya resimdeki gibi sizde işaretleyin. Alt kısımda işaretlediğiniz noktanın enlem ve boylam bilgilerine ulaşacaksınız.

http://maps.google.com/maps/api/geocode/xml?latlng=41.0843,028.9886&sensor=false&region=tr

Devamı
1
Facebook
Son Yorumlar