Windows Phone 7.5 Mango Uygulama geliştirme serisinin bir parçası olarak son eğitmenimizdeki InputScopes hakkında bilgi aldık. Bu derste, telefonun küresel konumunu nasıl alacağımızı, yani enlem ve boylamını öğreneceğiz ve enlem ve boylamı Şehir, Eyalet ve Ülke formatına çözecek bir web servisi çağırın.
Windows Telefon 7 bir GPS arayüzü ile donatılmıştır. Windows Phone 7`nin Location Service API`si ile birleştirildiğinde, enlem ve boylamı, yani telefonun mevcut konumunu belirlemek için kullanabiliriz. Daha sonra şehri, eyaleti ve ülkeyi belirlemek için bu enlem ve boylam değerlerini kullanabiliriz. Şehiri, eyaleti ve ülkeyi çözmek için bir web servisi kullanıyoruz. Bir web servisi, internet üzerinden çalışan bir yöntem olarak düşünülebilir. Bir web servisinin bir sunucu üzerinde barındırılması ve yönteminin adı, kabul edeceği parametreler ve hangi tür verilerin geri döneceği ile birlikte ortaya çıkar. İnternette böyle bir web servisini arayabilir, sonuçları toplayabilir ve elde edilen verilerle anlamlı bir şey yapabiliriz.
Öyleyse hemen pratik deneyime başlayalım!
Benzersiz bir isim ile yeni bir Windows Phone 7 projesi oluşturun. `GPSDemo`. Aşağıdaki xaml kodunu İçerik Paneli Izgarasına kopyalayıp yapıştırın.
HorizontalAlignment = ”Left”
Margin = ”12,23,0,0”
Name = ”TextBlock1"
Text = ””
VerticalAlignment = ”Üst”
Genişlik = ”423" />
Yükseklik = ”72"
HorizontalAlignment = ”Sol”
Kenar Boşluğu = ”275,59,0,0"
İsim = ”button1"
VerticalAlignment = ”Üst”
Genişlik = ”160"
Tıklama = ”button1_Click ”/>
Yukarıdaki kodla boş bir metin bloğu oluşturuyoruz ve içerik özelliği ile Beni Bul`a dönüştürülmüş bir düğme oluşturuyoruz. Button1_Click etkinliğine gidin. Bunun için kod yazmadan önce, bir referans eklememiz gerek. Çözüm gezgininde projenin başlığını sağ tıklayın ve menüden Referans Ekle`yi seçin. `.Net` sekmesi altında aşağı kaydırın ve `system.Device` bileşen adını seçin. Projenize dll dosyasını eklemek için Tamam`a tıklayın. Sonraki MainPage.xaml.cs.
System.Device.Location
kullanarak son kullanım deyiminden sonra aşağıdaki kod satırını yazın;
Sonra web hizmetine bir başvuru oluşturun. Bunu yapmak için proje başlığını tıklayın ve menüden Servis Referansı Ekle`yi seçin. Adres metin kutusuna `//msrmaps.com/TerraService2.asmx` adresini yazın ve `Git`i tıklayın. Web servisi internet üzerinden tanımlandıktan sonra, söz konusu web servisinin altında bulunan işlemlerin bir listesini göreceksiniz. İsim alanını ServiceReference1`den myTerraService`e değiştirin ve Tamam düğmesini tıklayın. Visual Studio, web hizmeti ile çalışmak için kullanacağınız proxy sınıfını oluşturur. Bu yapıldıktan sonra, telefonunuzun GPS arayüzü ile çalışmaya hazırsınız. Aşağıdaki kod satırlarını kopyalayın ve button1_Click olayına yapıştırın.
GeoCoordinateWatcher myWatcher = yeni GeoCoordinateWatcher ();
var myPosition = myWatcher.Position;
çift enlem = 18.916;
çift boylam = 72.9;
if (! MyPosition.Location.IsUnknown)
{
enlem = myPosition.Location.Latitude;
longitude = myPosition.Location.Longitude;
}
myTerraService.TerraServiceSoapClient istemci = yeni myTerraService.TerraServiceSoapClient ();
client.ConvertLonLatPtToNearestPlaceCompleted + = new EventHandler (client_ConvertLonLatPtToNearestPlaceCompleted)
client.ConvertLonLatPtToNearestPlaceAsync (yeni myTerraService.LonLatPt {Lat = enlem, boylam = boylam});
Düğmenin son küme parantezinden sonra aşağıdaki yöntemi kopyalayın ve yapıştırın1_Kullanıcı
void client_ConvertLonLatPtToNearestPlaceCompleted (nesne gönderen, myTerraService.ConvertLonLatPtToNearestPlaceCompletedEventArgs e)
{
textBlock1.Text = e.Result;
}
Şimdi kodun tam olarak ne olduğuna bir göz atalım. İlk önce, myWatcher olarak adlandırılan FeoCoordinateWatcher sınıfının bir nesnesini oluşturarak enlem ve boylam için değerleri elde ettik ve myPosition.Location öğesinin enlem ve boylam özelliklerine erişerek enlem ve boylamlara erişelim. Daha sonra, enlem ve boylamı geçen web servisine asenkronize bir çağrı yaratıyoruz. Son olarak, sadece web servisinin sonucunu metin bloğunda gösteririz. Eşzamansız bir çağrı yapılır, böylece web servisinin sonucu alınırken bile uygulama yanıt vermeye devam eder.
GPS, Konum API`si ve Arama Web Servisleri hakkında daha fazla bilgi için www.msdn.com adresini ziyaret edin.
Windows Phone 7.5 Mango Uygulama geliştirme serimiz .
Bu ders dizisinin tüm bölümlerine bağlantılar:
Windows Phone geliştirmeyi öğrenin 7.5 Mango Uygulamaları: 1. Bölüm
Windows Phone Geliştiriliyor 7.5 Mango Uygulamaları: Part 2 (HelloWorld) app)
Windows Phone 7.5 Uygulama Geliştirme: Bölüm 3; Değişkenler, Veri Tipleri ve Değerler Atama
Windows 7.5 Mango Uygulamaları Geliştirme, Bölüm 4: if deyim
Windows 7.5 Mango Uygulamaları Geliştirme, Bölüm 5: Operatörler, ifadeler, açıklamalar
Windows 7.5 Mango Uygulamaları Geliştirme, Bölüm 6: Anahtar Açıklaması
Windows Phone Mango Uygulamaları Geliştirme, Bölüm 7: yinelemeler için
Windows Phone geliştirirken Basit Yardımcı Yöntemleri Kullanma 7.5 Mango Uygulamaları: Bölüm 8
Dizelerle Çalışma: Windows Phone 7.5 Mango Uygulama Geliştirme - Bölüm 9
DateTime ile Çalışma: Windows Phone 7.5 Mango Apps Geliştirme - Bölüm 10
Sınıfları Anlamak ve Oluşturmak: Windows Phone 7.5 Mango Uygulamaları Geliştirme - Bölüm 11
Sınıflarla Çalışmak: Windows Phone 7.5 Mango Apps Geliştirme - Bölüm 12
İsim Alanlarını Anlamak: Windows Phone 7.5 Mango Uygulamaları Geliştirme - Bölüm 13
Nesnelerin Toplanması: Windows Phone Apps Geliştirme Eğitimi - Bölüm 14
XAMl`yi Anlamak: Windows Phone Apps Geliştirme Eğitimi - Bölüm 15
Silverlight Düzen Denetimleri: Windows Telefon Apps Geliştirme Eğitimi - Bölüm 16
XAML Olay ve Giriş Denetimleri: Windows Phone Apps Geliştirme Eğitimi - Bölüm 17
Görüntü Denetimi ile Çalışma: Windows Phone Apps Geliştirme Eğitimi - Bölüm 18
Stil ve Kaynaklarla Çalışma: Windows Telefon Uygulamaları Geliştirme Eğitimi - Bölüm 19
Kontrollere stil ve tema kaynağı uygulayın: Windows Phone Apps Geliştirme Eğitimi - Bölüm 20
XAML Sayfaları arasında Gezinme: Windows Phone Apps Geliştirme Eğitimi - Bölüm 21
Uygulama Çubuğuyla Çalışmak: Windows Phone Apps Geliştirme Eğitimi - Bölüm 22
Bir İletişim Kutusu Olarak Tuvali Kullanma: Windows Phone Apps Geliştirme Eğitimi - Bölüm 23
Farklı Giriş Kodları Ekleme: Windows Phone Apps Geliştirme Eğitimi - Bölüm 24