Я разработал навигационное приложение для Windows Phone 7.1. Там было хорошо. После обновления до 8.0 мой GeoCoordinateWatcher больше не работает. Я знаю, что вместо этого я мог бы использовать Geolocator, но я отказываюсь делать это из-за нехватки времени.GeoCoordinateWatcher не работает после перехода на WP8
Для моего приложения я прочитал текущую позицию моего наблюдателя, чтобы сохранить его для экземпляра объекта с информацией о местоположении. Когда я сохраняю экземпляр объекта, долгота и широта равны 0.0. Даже когда я изменяю позицию в своем эмуляторе, все равно 0.0. Такая же проблема возникает и на моих других страницах, которые используют GeoCoordinateWatcher. Это не работает. Как я уже сказал, на WP 7.1 - 7.8 он работает очень хорошо.
public Map()
{
InitializeComponent();
watcher = new GeoCoordinateWatcher();
watcher.MovementThreshold = 20;
watcher.StatusChanged += new EventHandler<GeoPositionStatusChangedEventArgs>(watcher_StatusChanged);
watcher.PositionChanged += new EventHandler<GeoPositionChangedEventArgs<GeoCoordinate>>(watcher_PositionChanged);
}
void watcher_PositionChanged(object sender, GeoPositionChangedEventArgs<GeoCoordinate> e)
{
if (e.Position.Location.IsUnknown)
{
MessageBox.Show("Please wait while your prosition is determined.");
return;
}
geo.Latitude = e.Position.Location.Latitude;
geo.Longitude = e.Position.Location.Longitude;
}