Научихме за InputScopes в нашия последен урок като част от серията за разработка на приложения за Windows Phone 7.5 Mango App. В този урок ще научим как да извлечете глобалната позиция на телефона, т.е. неговата географска ширина и дължина и след това да се обадите на уеб услуга, която ще разреши географската ширина и дължина в градски, щатски и национален формат.
Windows Phone 7 е оборудван с GPS интерфейс. Когато се свърже с приложния програмен интерфейс (API) на услугата за местоположения на Windows Phone 7, можем да го използваме, за да определим географската ширина и дължина, т.е. текущата позиция на телефона. Тогава можем да използваме тези стойности на географска ширина и дължина, за да определим града, държавата и страната. Използваме уеб услуга за решаване на града, държавата и държавата. Уеб услугата може да се смята за метод, който се движи по интернет. Уеб сървърът се хоства на сървър и името му се разкрива заедно с параметрите, които той ще приеме и с какъв тип данни ще се върне. Можем да наречем такава уеб услуга по интернет, да извлечем резултати и да направим нещо смислено с получените данни.
Създайте нов проект на Windows Phone 7 с уникално име като "GPSDemo". Копирайте и поставете следния код xaml в решетката на панела за съдържание.
HorizontalAlignment = "Left"
Допустимо = "12,23,0,0"
Име = "textBlock1"
Текст = ""
VerticalAlignment = "Top"
Ширина = "423" />
Височина = "72"
HorizontalAlignment = "Left"
Допустимо = "275,59,0,0"
Име = "button1"
VerticalAlignment = "Top"
Ширина = "160"
Кликнете върху = "button1_Click" />
С кода, даден по-горе, създаваме празен текстов блок и бутон със собствеността на съдържанието се променя на Find Me. Придвижете се до събитието button1_Click. Преди да напишем кода за това дори трябва да добавим препратка към. Кликнете с десния бутон върху заглавието на проекта в Explorer Explorer и изберете Add Reference от менюто. В раздела ".Net" превъртете надолу и изберете името на компонента "System.Device". Кликнете върху OK, за да добавите DLL файла към вашия проект. След това въведете следния ред от код след последния израз използване в MainPage.xaml.cs.
използвайки System.Device.Location;
След това създаваме препратка към уеб услугата. За да направите това, кликнете с десния бутон на мишката върху заглавието на проекта и изберете Add Service Reference от менюто. Въведете следния URL адрес "https://msrmaps.com/TerraService2.asmx" в текстовото поле Address и щракнете върху "Go". След като уеб услугата бъде идентифицирана по интернет, ще видите списък с операциите, налични в рамките на тази уеб услуга. Просто сменете пространството от имена от ServiceReference1 до myTerraService и кликнете върху бутона OK. Visual Studio изгражда прокси клас, който ще използвате, за да работите с уеб услугата. След като направите това, всички сте готови да работите с GPS интерфейса на телефона. Копирайте и поставете следните редове от кода в събитието button1_Click.
GeoCoordinateWatcher myWatcher = нов GeoCoordinateWatcher ();
var myPosition = myWatcher.Position;
двойна ширина = 18.916;
двойна дължина = 72.9;
ако (! myPosition.Location.IsUnknown)
{
ширина = myPosition.Location.Latitude;
дължина = myPosition.Location.Longitude;
}
myTerraService.TerraServiceSoapClient клиент = нов myTerraService.TerraServiceSoapClient ();
client.ConvertLonLatPtToNearestPlaceCompleted + = нов EventHandler
client.ConvertLonLatPtToNearestPlaceAsync (новата myTerraService.LonLatPt {Lat = географска ширина, Lon = дължина});
Копирайте и поставете следния метод след последните скоби на метода button1_Click
void client_ConvertLonLatPtToNearestPlaceCompleted (изпращач на обект, myTerraService.ConvertLonLatPtToNearestPlaceCompletedEventArgs e)
{
textBlock1.Text = e.Result;
}
Сега нека да погледнем какво прави точно кода. Отначало ще получим стойностите за географската ширина и дължина, като създадем обект от клас FeoCoordinateWatcher, наречен myWatcher, и след това достъп до географската ширина и дължина просто чрез достъп до географската ширина и дължина собственост на myPosition.Location. След това създаваме асинхронно обаждане до уеб услугата, предаваща географската ширина и дължина. Накрая просто показваме резултата от уеб услугата в текстовия блок. Извършва се асинхронен разговор, така че приложението да остане отзивчиво дори когато резултатът от уеб услугата се получава.
За да научите повече за GPS, API за местоположението и Calling Web Services, посетете www.msdn.com.
Това завършва серията ни за разработка на приложения за Windows Phone 7.5 Mango App.
Връзки към всички части на тази серия на урока:
- Научете как да разработвате Windows Phone 7.5 Манго приложения: Част 1
- Разработване на приложенията на Windows Phone 7.5 Mango: Част 2 (приложение HelloWorld)
- Разработване на Windows Phone 7.5 Apps: Част 3; Променливи, типове данни и определяне на стойности
- Разработване на Windows 7.5 Mango Apps, Част 4: ако изявление
- Разработване на Windows 7.5 Mango Apps, Част 5: Оператори, изрази, изявления
- Разработване на Windows 7.5 Mango Apps, Част 6: Превключвател
- Разработване на Windows Phone Mango Apps, част 7: за повторения
- Използване на Simple Helper Методи при разработката на Windows Phone 7.5 Mango Apps: Част 8
- Работа със струнни: Windows Phone 7.5 Mango Apps развитие - част 9
- Работа с DateTime: Windows Phone 7.5 Манго приложения за приложения - част 10
- Разбиране и създаване на класове: Windows Phone 7.5 Mango Apps развитие - част 11
- Работа с класове: Windows Phone 7.5 Mango Apps за развитие - част 12
- Разбиране на пространства за имена: Windows Phone 7.5 Разработка на приложения за манго - част 13
- Колекция от обекти: Развитие турнир за Windows Phone Apps - част 14
- Разбиране на XAML: Разработка на турски софтуер за Windows Phone Apps - Част 15
- Контроли за оформление на Silverlight: Ръководство за разработка на Windows Phone Apps - Част 16
- XAML събитие и контроли за въвеждане на данни: Windows Phone Apps Development Tutorial - Част 17
- Работа с контрола на изображението: Ръководство за разработка на Windows Phone Apps - Част 18
- Работа със стилове и ресурси: Windows Phone Apps Development Tutorial - Част 19
- Прилагане на стилен и тематичен ресурс към контролите: Windows Phone Apps Development Tutorial - Част 20
- Навигация между XAML Страници: Windows Phone Apps Развитие настойнически - Част 21
- Работа с лентата на приложенията: Ръководство за разработка на Windows Phone Apps - Част 22
- Използване на платно като диалог: Ръководство за разработка на Windows Phone Apps - Част 23
- Добавяне на различни входни скоби: Windows Phone Apps Development Tutorial - Част 24
- GPS, API за местоположението и уеб услуги за разговори: Windows Phone Apps Development Tutorial - 25.