ScheduledAgent и GeoCoordinateWatcher - как заставить их работать? - PullRequest
1 голос
/ 25 сентября 2011

Я пытаюсь получить позицию GPS через GeoCoordinateWatcher, запущенный в ScheduledAgent.К сожалению, единственное местоположение, которое я получаю, это какое-то старое, записанное во время работы приложения.Как узнать текущее (последнее) местоположение в ScheduledAgent?

Ответы [ 2 ]

1 голос
/ 01 октября 2011

Я столкнулся с той же проблемой.К сожалению, это предполагаемое поведение в соответствии с API-интерфейсами WP7.1

В соответствии с документацией «Этот API-интерфейс, используемый для получения географических координат устройства, поддерживается для использования в фоновых агентах, но он используеткэшированное значение местоположения вместо данных в реальном времени. Кэшированное значение местоположения обновляется устройством каждые 15 минут. "

http://msdn.microsoft.com/en-us/library/hh202962(v=VS.92).aspx

0 голосов
/ 27 сентября 2011

My 2 Centlys.

вероятно, потому что GeoCoordinateWatcher требуется некоторое время (2 секунды или около того), чтобы получить новые значения координат и привязаться к GPS, сотовой мачте, Wi-Fi и т. И это даст вам последнюю записанную позицию в то же время.

Итак, попробуйте подключиться к следующим событиям

 watcher.StatusChanged += new EventHandler< GeoPositionStatusChangedEventArgs>(watcher_StatusChanged);

 watcher.PositionChanged += new EventHandler< GeoPositionChangedEventArgs< GeoCoordinate>>(watcher_PositionChanged);

где watcher = новый GeoCoordinateWatcher (GeoPositionAccuracy.High);

и вызовите NotifyComplete (); в вашем обработчике "watcher_PositionChanged".

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...