фон: Я хорошо разбираюсь в WPF/XAML, но новый для Windows Phone 8.Windows Phone 8 Geolocator не может установить desiredAccuracy = High и связать в PositionChanged событие
Надеюсь, это просто что-то глупо, что я 'm missing ...
Я хочу, чтобы DesiredAccuracy была высокой, но я также хочу подключиться к событию PositionChanged.
Когда нижний код достигает _GeoLocator.DesiredAccuracy = PositionAccuracy.High; он отбрасывает прерывание. Если это не работает, все работает, но я очень хочу высокой точности.
Кажется, что оба взаимно исключают друг друга.
Сообщение об ошибке: операция прерывается (исключение из HRESULT: 0x80004004 (E_ABORT)). У меня есть возможности определения местоположения.
Пример нарушившей кода:
public MainPage()
{
InitializeComponent();
_GeoLocator.MovementThreshold = 1;
_GeoLocator.PositionChanged += (Geolocator sender, PositionChangedEventArgs args) =>
{
//UpdateLocation(args);
Console.WriteLine("Position Changed");
};
//THIS WILL THROW...WHY?? IF I COMMENT OFF POSITIONCHANGED ABOVE, IT WORKS FINE.
_GeoLocator.DesiredAccuracy = PositionAccuracy.High;
}
Спасибо ... это победитель. От кого (аналогичный вопрос) размещена: «Вам не разрешено изменять какие-либо параметры уведомления (MovementThreshold, DesiredAccuracy или ReportInterval), пока вы получаете местоположение. Это включает в себя изменение позиции (событие PositionChanged), а также получение позиции async (GetPositionAsync). Если вы хотите изменить параметры уведомлений, вы должны отказаться от подписки на все события и/или дождаться завершения GetPositionAsync, а затем внести изменения ». – tronious