Freigeben über


Программировать Windows Phone 7 GPS можно не выходя из ПК

Грег Дункан

clip_image002

В своем твиттере я встретил комментарий о том, как сложно тестировать приложения Windows Phone 7 с GPS в здании и как автор промок, поместив телефон за окно (да, Клинт, речь о тебе…)

Это интересный момент. Каким образом можно разрабатывать или тестировать приложения Windows Phone, использующие GPS, в здании или, еще хуже, на эмуляторе? Как можно проверить, работает ли оно в других местах, кроме того, где вы находитесь сейчас? Скажем, в другой стране, штате, районе и т.д.?

Я попробовал сказать моему DFO (Domestic Financial Officer = домашний финансовый директор … или жена) о том, что мне требуется воспользоваться самолетом, чтобы протестировать мое приложение GPS WP7, но она только выразительно поглядела на меня.

Выходом является средство эмуляции GPS в центре App Hub.

«Все устройства Windows Phone имеют встроенный блок Assisted GPS (aGPS), используемый разными приложениями телефона, включая географические карты, камеру и поисковую службу (для обеспечения результатов поиска, зависимых от положения).

Разработчики могут получить доступ к информации о положении на Windows Phone, используя пространство имен System.Device.Location, поддерживаемое.NET 4 и более поздними версиями. Класс GeoCoordinateWatcher обеспечивает данные о положении, базирующиеся на широте и долготе. Маленькое WPF-приложениеWindows Phone GPS Emulator и одна WP7 DLL позволяют создать сложные маршруты, которые можно проигрывать так, как если бы вы ехали на автомобиле или прогуливались, и таким образом отлаживать приложения на эмуляторе или реальном устройстве не покидая дома или офиса.

Закончив тестирование или отладку, нужно поменять только одну строку кода, чтобы переключиться обратно на реальный GPS.

Средство включает:

  • приложение Windows GPS Emulator
  • клиентскую DLL для Windows Phone GPS Emulator
  • простого клиента тестирования Windows Phone
  • полное приложение Windows Phone, использующее карты Bings (более сложный пример)

…»

В блоге разработчиков Windows Phone есть замечательная статья об эмуляторе GPS в Windows Phone.

«...

Использование эмулятора GPS позволяет создавать сложные маршруты, которые можно потом проигрывать, как если бы вы двигались на автомобиле или гуляли. Затем можно перейти в ваше приложение Windows Phone и получить информацию о положении из эмулятора GPS, как из реального GPS.

clip_image004

Использование эмулятора GPS в приложении WindowsPhone

Но в первую очередь, давайте поймем, как эмулятор GPS поможет отладить клиентское приложение Windows Phone.

...»

Это средство от App Hub идет вместе с примерами кода и документацией, которая поможет начать работу.

Ниже приведен отрывок из документации.

«...

Работа с GeoCoordinateWatcher сравнительно проста. Далее мы подробнее объясним, как работать с этим классом и как протестировать приложение для Windows Phone. Иногда приложение требует для отслеживания движения более одного местоположения и может понадобиться протестировать поведение приложения в различных местах.

В то же время, может выглядеть странным езда вокруг квартала с Windows Phone, подсоединенным к лаптопу, пока вы пытаетесь отладить свое приложение.

Не беспокойтесь – вы в надежных руках. Небольшое WPF-приложение Windows Phone GPS Emulator с однойDLL позволят вам отлаживать приложение на эмуляторе Windows Phone или на физическом устройстве, не покидая дома или офиса. После завершения отладки или тестирования вам понадобится изменить лишь одну строку кода, чтобы переключить устройство обратно в режим реальной GPS.

C помощью программы GPS Emulator можно задать местоположение в любом месте земного шара используя карту. Более того, можно задать маршруты со множественными промежуточными точками или использовать сервис Bing для вычисления направлений движения между пунктами. Если вы определили маршрут, то можете имитировать движение через предопределенные пункты вдоль него.

clip_image006

Как видно из рис.1 большую часть окна эмулятора GPS занимают средства управления картой. Можно тесно взаимодействовать с программой путем выбора панорам, увеличений и задавая местоположения. Один щелчок левой клавишей мыши используется для задания текущего положения (отмеченного фиолетовым кружком), двойной щелчок задает пункт на маршруте.

1. Редактор промежуточных точек позволяет добавлять новые точки, задавая широту и долготу. Также можно находить известные местоположения (вроде рынка Pike Place в Сиэтле) или адреса улиц. Каждая найденная точка может быть добавлена в маршрут. Можно также редактировать существующие точки маршрута.

2. Экран «Маршрут» выводит список точек заданного маршрута. Можно редактировать каждую точку, изменяя ее положение или время, которое занимает движение от текущей точки до другой.

3. Моделирование помогает управлять скоростью, с которой проигрывается маршрут. Можно останавливать и вновь продолжать симуляцию, если требуется промоделировать светофоры.

4. Индикатор соединения светится зеленым когда ваше приложение Windows Phone подсоединено к эмулятору GPS. Соединение осуществляется по протоколу HTTP с использованием WCF.

5. Тип карты позволяет выбрать дорожное, воздушное или гибридное представление основной карты.

...»

Самое же лучшее, по моему мнению, это то, что вы получите также и код к эмулятору…

clip_image007

Несколько ссылок, которые могут оказаться полезными: