私が働いている会社は、フィールドスタッフがGPSの場所を定期的に登録するアプリケーションを使用しています。最初に、System.Device.Location GeoCoordinateWatcherクラス。.netデスクトップアプリケーションでWindows 10の場所にアクセス
Windows 10では、同じコードが正常に機能しなくなり、GeoCoordinateWatcher.PermissionはGrantedを返しますが、各呼び出しごとに未知の位置を引き続き受け取ります。ウィンドウズ8とウィンドウズ10のタブレットはどちらもLTEを持っています。
Public Function GetLocation() As GeoCoordinate
Dim geoCoordinate As GeoCoordinate
Dim watcher As GeoCoordinateWatcher
watcher = New GeoCoordinateWatcher(GeoPositionAccuracy.High)
watcher.TryStart(False, TimeSpan.FromMilliseconds(15000))
LogToFile("Position Permission: " & watcher.Permission.ToString)
LogToFile("Watcher Status: " & watcher.Status.ToString)
geoCoordinate = watcher.Position.Location
If geoCoordinate.IsUnknown Then
LogToFile("Unknown")
Else
LogToFile(String.Format("Lat: {0}, Long: {1}, H Accuracy: {2}, V Accuracy: {3}, Crse: {4}, Spd: {5}, Alt: {6}", geoCoordinate.Latitude, geoCoordinate.Longitude, geoCoordinate.HorizontalAccuracy, geoCoordinate.VerticalAccuracy, geoCoordinate.Course, geoCoordinate.Speed, geoCoordinate.Altitude))
End If
Return geoCoordinate
End Function
当社のログファイルには、我々は権限が付与されて持っているすべてのコール、状態=のNoDataや初期化のミックスを示しており、位置は常に不明です。
アプリケーションが位置情報にアクセスしているという通知が表示され、地図アプリケーションが現在のGPS位置を正しく表示するため、GPSが実際に動作していることを確認できます。
何が起こっているのかをトラブルシューティングしようとする他に何か提案がありますか?
を包ん、我々はもともと私たちの元のWindows 8のプログラムでのPositionChangedが、開始見つかったフィールドテストでかなりの量の後にしていましたウォッチャーと読書は、ポジションが変わったイベントを開始し捕まえるよりもはるかに信頼性が高かった。新しいOSの変更がそのバランスを他の方向から奪ったかもしれないので、私はそれを撃つだろう。 – Wes