Мы узнали о InputScopes в нашем последнем учебном пособии, в рамках серии разработки приложений для Windows Phone 7.5 Mango. В этом уроке мы узнаем, как получить глобальную позицию телефона, то есть его широту и долготу, а затем вызвать веб-службу, которая разрешит широту и долготу в формате «Город», «Штат» и «Страна».
Windows Phone 7 оснащен интерфейсом GPS. В сочетании с API службы местоположения на телефоне Windows 7 мы можем использовать его для определения широты и долготы, т. Е. Текущей позиции телефона. Затем мы можем использовать эти значения широты и долготы, чтобы определить город, штат и страну. Мы используем веб-сервис для разрешения города, штата и страны. Веб-сервис можно рассматривать как метод, который работает через Интернет. Вебсервис размещается на сервере, и его имя метода отображается вместе с параметрами, которые он примет, и какими типами данных он вернется. Мы можем называть такой веб-сервис через Интернет, извлекать результаты и делать что-то значимое с полученными данными.
Создайте новый проект Windows Phone 7 с уникальным именем, например «GPSDemo». Скопируйте и вставьте следующий код xaml в Grid панели содержимого.
HorizontalAlignment =»Left»
Margin =»12,23,0,0
Name =»textBlock1
Text =»»
VerticalAlignment =»Вверх»
Ширина = "423" />
Высота =»72
HorizontalAlignment =»Left»
Margin =»275,59,0,0
Name =»Button1
VerticalAlignment =»Вверх»
Ширина =»160
Нажмите = "button1_Click" />
С приведенным выше кодом мы создаем пустой текстовый блок и кнопку с изменением свойства содержимого на Find Me. Перейдите к событию button1_Click. Прежде чем писать код для этого, нам нужно добавить ссылку. Щелкните правой кнопкой мыши название проекта в проводнике решений и выберите «Добавить ссылку» в меню. На вкладке «.Net» прокрутите вниз и выберите имя компонента «System.Device». Нажмите «ОК», чтобы добавить файл dll в ваш проект. Далее введите следующую строку кода после последнего использования инструкции в MainPage.xaml.cs.
используя System.Device.Location;
Затем мы создаем ссылку на веб-службу. Для этого щелкните правой кнопкой мыши название проекта и выберите «Добавить ссылку на службу» в меню. Введите следующий URL-адрес «https://msrmaps.com/TerraService2.asmx» в текстовое поле «Адрес» и нажмите «Перейти». Как только веб-служба будет идентифицирована через Интернет, вы увидите список операций, доступных в этой веб-службе. Просто измените пространство имен с ServiceReference1 на myTerraService и нажмите кнопку OK. Visual Studio создает прокси-класс, который вы будете использовать для работы с веб-службой. Как только это будет сделано, вы все настроитесь на работу с интерфейсом GPS телефона. Скопируйте и вставьте следующие строки кода в событие button1_Click.
GeoCoordinateWatcher myWatcher = новый GeoCoordinateWatcher ();
var myPosition = myWatcher.Position;
двойная широта = 18,916;
двойная долгота = 72,9;
if (! myPosition.Location.IsUnknown)
{
широта = myPosition.Location.Latitude;
longitude = myPosition.Location.Longitude;
}
myTerraService.TerraServiceSoapClient client = new myTerraService.TerraServiceSoapClient ();
client.ConvertLonLatPtToNearestPlaceCompleted + = new EventHandler
client.ConvertLonLatPtToNearestPlaceAsync (новый myTerraService.LonLatPt {Lat = широта, Lon = долгота});
Скопируйте и вставьте следующий метод после последних фигурных скобок метода button1_Click
void client_ConvertLonLatPtToNearestPlaceCompleted (отправитель объекта, myTerraService.ConvertLonLatPtToNearestPlaceCompletedEventArgs e)
{
textBlock1.Text = e.Result;
}
Теперь давайте посмотрим, что именно делает код. Сначала мы получаем значения для широты и долготы, создавая объект класса FeoCoordinateWatcher под названием myWatcher, а затем получаем доступ к широте и долготе просто путем доступа к широте и долготе свойства myPosition.Location. Затем мы создаем асинхронный вызов веб-службе, передающий широту и долготу. Наконец, мы просто показываем результат веб-службы в текстовом блоке. Асинхронный вызов выполняется таким образом, чтобы приложение оставалось отзывчивым, даже когда результат веб-службы принимается.
Это завершает нашу серию разработки приложений для Windows Phone 7.5 Mango.
Ссылки на все части этой серии учебников:
- Научитесь разрабатывать приложения для Windows Phone 7.5 Mango: часть 1
- Разработка приложений для Windows Phone 7.5 Mango: часть 2 (приложение HelloWorld)
- Разработка приложений для Windows Phone 7.5: часть 3; Переменные, типы данных и присвоение значений
- Разработка приложений Mango для Windows 7.5, часть 4: инструкция if
- Разработка приложений Mango для Windows 7.5, часть 5: Операторы, выражения, утверждения
- Разработка приложений Mango для Windows 7.5, часть 6: Заявление о переключении
- Разработка приложений для Windows Phone Mango, часть 7: для итераций
- Использование простых помощников при разработке Windows Phone 7.5 Mango Apps: часть 8
- Работа со строками: Windows Phone 7.5 Разработка приложений для Mango - часть 9
- Работа с DateTime: Windows Phone 7.5 Разработка приложений для Mango - часть 10
- Понимание и создание классов: Windows Phone 7.5 Разработка приложений для Mango - часть 11
- Работа с классами: Windows Phone 7.5 Разработка приложений для Mango - часть 12
- Понимание пространства имен: Windows Phone 7.5 Разработка приложений для Mango - часть 13
- Коллекция объектов: разработка приложений для Windows Phone Turorial - часть 14
- Понимание XAML: разработка приложений для Windows Phone Turorial - часть 15
- Элементы управления цветом Silverlight: учебное пособие по разработке приложений для Windows Phone - часть 16
- Управление событиями и элементами управления XAML: Учебное пособие по разработке приложений для Windows Phone - часть 17
- Работа с Image Control: учебное пособие по разработке приложений для Windows Phone - часть 18
- Работа со стилями и ресурсами: учебное пособие по разработке приложений для Windows Phone - часть 19
- Примените стиль и тематический ресурс к элементам управления: Учебник по разработке приложений для Windows Phone - часть 20
- Навигация между страницами XAML: Учебное пособие по разработке приложений для Windows Phone - часть 21
- Работа с панелью приложений: учебное пособие по разработке приложений для Windows Phone - часть 22
- Использование Canvas в качестве диалога: Учебное пособие по разработке приложений для Windows Phone - часть 23
- Добавление различных входных интерфейсов: учебное пособие по разработке приложений для Windows Phone - часть 24
- GPS, Location API и Calling Web Services: Учебное пособие по разработке приложений для Windows Phone - 25.