У нас странное поведение с WinRT Geolocator в одном из наших приложений. Пользователь нажимает кнопку в приложении, чтобы получить текущую позицию. Работает нормально в первый раз, но все последующие нажатия на кнопку возвращают те же самые координаты, даже жесткие мы двигаемся более чем на один километр.WinRT Geolocator всегда возвращает ту же позицию
Приложение работает на ThinkPad, и мы установили приложение под названием «GPS-спутник», и если мы переключимся на это приложение, получим координаты и вернемся в наше приложение, тогда Geolocator вернет правильные координаты. Таким образом, мы знаем, что GPS работает нормально, но похоже, что координаты хранятся в кеше даже жестко, мы установили истечение нескольких миллисекунд.
private async void ExecuteObtenirCoordGPSCommand()
{
try
{
Geolocator geolocator = new Geolocator();
geolocator.DesiredAccuracy = PositionAccuracy.High;
// Make the request for the current position
Geoposition pos = await geolocator.GetGeopositionAsync(new TimeSpan(0,0,0,0,200), new TimeSpan(0,0,5));
Place.Latitude = pos.Coordinate.Latitude;
Place.Longitude = pos.Coordinate.Longitude;
}
catch
{
GPSMsgErreur = "The GPS is unavailable";
}
}
Мы попытались поставить истечение на методе GetGeopositionAsync, но это не решило проблему.
Мы попытались поместить Geolocator var на уровне класса с тем же результатом.
Любые идеи?
Измените 'async void' на' async Task' и вызывается метод 'ExecuteObtenirCoordGPSCommand()' с ключевым словом 'await'. добавили ли вы возможности определения местоположения в манифест приложения? – Xyroid
Мы имеем такое же поведение, используя пример кода из MS: http://code.msdn.microsoft.com/windowsapps/Geolocation-2483de66/view/SourceCode#content –
Добавили ли вы возможности определения местоположения в манифесте приложения? – Xyroid