我最近开始在WinJS上编写一个应用程序,它在Windows Phone和Win8上运行。 即使我打电话
geolocator.desiredAccuracy = Windows.Devices.Geolocation.PositionAccuracy.high;
返回的坐标对象有时(事实上,经常)不准确 - 即,从Wifi三角测量,IP地址等计算,而不是从GPS计算。一个重要的迹象是,我最需要的speedd
不存在。
同时,GetPosition方法立即返回,因为低精度数据可用。
有没有办法强制系统只使用GPS信号,这样当我们调用异步GetPosition方法时它会停止并等待GPS,而不是返回低精度结果?
答案 0 :(得分:1)
没有简单的方法可以强制系统以您描述的方式使用仅GPS信号。您收到了什么样的准确度,以及您在寻找什么样的准确度?
将desiredAccuracy
属性设置为High
是正确的。也许值得设置desiredAccuracyInMeters
属性,因为它提供了更多的粒度和对位置结果准确性的控制。
检查坐标源的一种方法是使用PositionSource
枚举。如果该值设置为1
,则该位置是从卫星数据中获得的。
关于speed
:it is optional的小注释,以便位置提供程序返回此值。 Windows位置提供程序未设置此属性,因此将返回值NULL
。
有关详细信息,请参阅MSDN上的check out the Geolocation sample。
希望这有帮助!