HTML5中的GPS准确度

问题描述 投票:4回答:2

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

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

所以这是我的观察:

  1. 我在iPhone上运行HTML5应用程序,准确性开始下降。 (从150到1500米)
  2. 然后我在iPhone上运行一个带有地图的原生应用程序,比如谷歌地图,而不是等到它找到我的位置。
  3. 然后我在浏览器中转到我的HTML5应用程序。

现在准确度高于它(约5-10米)。发生了什么事?如何在不运行第三方应用程序的情况下将准确度提高到现在的水平?

javascript iphone html5 gps
2个回答
3
投票

正如Miha所说,我怀疑你需要enableHighAccuracy param,然而,getCurrentPosition()有时会放弃太快。它会给你一个位置事件,但有时,准确度低于预期。

我为watchLocation编写了一个简单的包装器,它具有与getCurrentPosition类似的接口,但允许您指定超时值和可接受的准确度。

它位于https://github.com/gwilson/getAccurateCurrentPosition的github上 - 这就是调用的样子:

navigator.geolocation.getAccurateCurrentPosition(onSuccess, onError, {desiredAccuracy:20, maxWait:15000});

将上述选项翻译成英语 - 这将尝试找到精度至少为20米的设备位置,并尝试达到此精度15秒


1
投票

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

© www.soinside.com 2019 - 2024. All rights reserved.