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