HTML5中的GPS准确度

时间:2012-10-07 10:56:03

标签: javascript iphone html5 gps

作为我的文凭项目的一部分,我遇到了获取GPS坐标的问题。 我开发了一个JavaScript和HTML5程序,可以从浏览器中获取坐标。

但是这个位置的准确性非常低。我使用方法watchPosition()并使用超时:1000

所以这是我的观察:

  1. 我在iPhone上运行HTML5应用程序,准确性开始下降。 (从150到1500米)
  2. 然后我在iPhone上运行一个带有地图的原生应用程序,比如谷歌地图,而不是等到它找到我的位置。
  3. 然后我在浏览器中转到我的HTML5应用程序。
  4. 现在准确度高于(约5-10米)。 发生了什么事?如何在不运行第三方应用程序的情况下实现高度准确?

2 个答案:

答案 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)

enableHighAccuracynavigator.geolocation.getCurrentPosition一起使用。以下是您需要了解的全部内容:HTML5 Doctor