【问题标题】:Is it possible to get maximal GPS precision on mobile browser?是否有可能在移动浏览器上获得最大的 GPS 精度?
【发布时间】:2012-01-05 15:05:24
【问题描述】:

是否可以从网络浏览器中以移动设备上可用的最大精度接收 GPS 位置?

我使用 HTML5 Geolocation 中的 getCurrentPosition()watchPosition() 在移动设备上进行了测试,在办公楼周围走动。我在 Android HTC Desire(Android 浏览器)和 iPhone 3(Safari)上收到了 70m 的最大精度,没有高度/速度数据,打开了 WiFi。 WiFi关闭后,精度下降到800-1000米。

同时,在 Android 上的 GPS Test 应用程序上,我收到了 14m 的 GPS 定位精度,以及高度和速度数据。

因此,正如我所见,我在移动浏览器中的两种设备中都没有收到 GPS 上可用的完整数据集,也没有收到设备传感器可能达到的精度。

那么,我的问题是,浏览器接收到的GPS数据集是受限于设备,还是浏览器本身不能充分利用?我想在我的网络应用程序中获得完整的 GPS 精度,而无需编写“普通”移动应用程序。

【问题讨论】:

  • 您确定您正在测试的 Android 手机已打开 GPS 吗?移动设备将使用可用的东西,无论是 GPS、它所连接的移动桅杆还是它的 WiFi。
  • 您的评论很有帮助,手机正在使用 wifi,但它会导致更高的精度,而不是更低的精度。我很震惊关闭wifi后精度变得如此低,而我的GPS测试应用程序显示精度
  • Ian Devlin 的意思是,当您运行浏览器应用程序时,您可能必须手动打开 GPS……否则它将通过 WiFi 跟踪您的位置(第一种情况,精度约为 100 公吨 -您的热点范围的大小,大约)或通过手机运营商的手机(第二种情况,精度以 100 米 - 公里为单位)
  • 浏览器在需要时自行开启gps
  • 也许并不总是...您是否 100% 确定您的 GPS 已开启?

标签: android iphone html mobile gps


【解决方案1】:

好的,我的同事给了我很有价值的提示。

出于安全原因,Android 的内置浏览器(因此,Android 浏览器,我已在其上进行了测试)无法获得完全精确的 GPS 位置。精确度随着预谋而降低。因此,当 WiFi 关闭时,我得到的响应是精度为 800-1000 米。开启 WiFi 后,我收到的回调准确度约为 70 米。

因此,我使用 Opera Mobile 和 Firefox 进行了测试,它们需要获得许可才能在安装时从 GPS 获取准确位置(与 GPS 测试相同)。这些浏览器在关闭 GPS 后接收到的数据精度

因此,Android 的答案是:不要将 Android 浏览器用于您希望获得高精度 GPS 位置的网站。似乎谷歌人决定,如果用户不接受 Android 浏览器的 GPS 精确位置,他可能不知道这个浏览器向 WWW 站点提供了如此精确的数据。至于 Opera 和 Firefox - 这是用户安装的应用程序,所以这是他的选择。

关闭 WiFi 的 iPhone 测试为 Safari 提供了 50 米的精度。因此,与 Android 相比,准确性受到的限制要少得多,但是限制是有的。但是,用其他支持 HTML5 的浏览器替换 Safari 存在问题,因为 Opera 停止了 iPhone 的开发。

所有测试均在办公楼外进行,此时可看到 10-12 个 GPS 发射器。

【讨论】:

  • 如果有人能验证我所写的内容,我会很高兴。
【解决方案2】:

根据this answer,您可以尝试使用enableHighAccuracy 选项(如果您还没有)。

但请参阅与 iPhone 相关的Why is Geolocation in Mobile Safari way less accurate than the location in a native App?,其中似乎 Mobile Safari 中的 JavaScript 地理定位 API 无法像本地应用程序的定位服务 API 那样获得准确的位置信息。

【讨论】:

    猜你喜欢
    • 2014-10-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-06-29
    • 2023-03-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多