作为我的文凭项目的一部分,我遇到了获取GPS坐标的问题。我开发了一个JavaScript和HTML5程序,可以从浏览器获取坐标。
但是这个位置的准确性非常低。我使用方法watchPosition()
超时:1000
所以这是我的观察:
现在准确度高于它(约5-10米)。发生了什么事?如何在不运行第三方应用程序的情况下将准确度提高到现在的水平?
正如Miha所说,我怀疑你需要enableHighAccuracy param,然而,getCurrentPosition()
有时会放弃太快。它会给你一个位置事件,但有时,准确度低于预期。
我为watchLocation
编写了一个简单的包装器,它具有与getCurrentPosition
类似的接口,但允许您指定超时值和可接受的准确度。
它位于https://github.com/gwilson/getAccurateCurrentPosition的github上 - 这就是调用的样子:
navigator.geolocation.getAccurateCurrentPosition(onSuccess, onError, {desiredAccuracy:20, maxWait:15000});
将上述选项翻译成英语 - 这将尝试找到精度至少为20米的设备位置,并尝试达到此精度15秒
使用enableHighAccuracy
和navigator.geolocation.getCurrentPosition
。以下是您需要了解的全部内容:HTML5 Doctor