我們的應用程序中的WinRT Geolocator有一個奇怪的行爲。用戶點擊應用程序中的按鈕即可獲取當前位置。第一次正常工作,但所有後續點擊按鈕都會返回相同的座標,即使我們移動超過一公里也很困難。WinRT Geolocator總是返回相同的位置
該應用程序在ThinkPad上運行,我們安裝了名爲「GPS Satellite」的應用程序,如果我們切換到此應用程序,請獲取座標並返回到我們的應用程序,然後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放在類級別,得到相同的結果。
任何想法?
使用'await'關鍵字將'async void'更改爲'async Task'並調用方法'ExecuteObtenirCoordGPSCommand()'。您是否在應用清單中添加了位置功能? – Xyroid
我們使用來自MS的示例代碼具有相同的行爲:http://code.msdn.microsoft.com/windowsapps/Geolocation-2483de66/view/SourceCode#content –
您是否在應用程序清單中添加了位置功能? – Xyroid