Javascript 地理位置 - GPS 设置 - FINE 与 COARSE

Posted

技术标签:

【中文标题】Javascript 地理位置 - GPS 设置 - FINE 与 COARSE【英文标题】:Javascript geolocation - GPS settings - FINE vs COARSE 【发布时间】:2015-11-09 07:56:08 【问题描述】:

我正在使用 Intel XDK(iPhone 和 android)创建一个地理定位应用程序,并且有 2 个问题:

    如果手机上的 GPS 未启用,如何显示设备的地理位置设置? 我如何知道返回的纬度和经度值是来自 GPS 还是来自 wifi/数据坐标?我认为 wifi/data 返回一个短值 (eg: 43.475748) 而 GPS 返回一个较长值 (eg: 43.47573849384) 我这样想对吗?

【问题讨论】:

【参考方案1】:

1.) 大多数设备会缓存最后一个已知的地理位置。不幸的是,这种行为并不一致,除了尝试记住应用程序中的一组最后已知位置之外,您无能为力。

2.) 我不认为 html5 地理 API 提供了该级别的详细信息,但您可以查看所提供的准确性信息。 “精细”与“粗糙”的名称有些随意,因为它在不同的设备和操作系统上意味着不同的东西(跨平台应用程序的性质)。我会使用准确度反馈作为相对指南。

如果您想使用地理定位功能,请查看 XDK 中的“hello-cordova”示例应用程序,使用它可以很容易地了解地理功能在各种设备上的工作方式。您可以在 App Preview 中使用它,也可以简单地构建应用程序并将其安装在各种设备上。请注意,如果您首先按下“fine”按钮,那么“watch”按钮将检索“fine”结果。如果您在按下“观看”按钮之前按下“粗略”按钮,观看结果将基于“粗略”设置。

一般来说,最好先请求“粗略”读取(带有短暂的超时)以获取大致位置(或缓存位置),然后在需要更精确位置时切换到“精细”请求.如果您坚持不经常使用“粗略”读数,电池寿命会更长,特别是如果您只需要知道用户的大致位置(例如,他们位于哪个城镇或社区)。

【讨论】:

谢谢。但是当我收到坐标时,我怎么知道它们是来自 GPS(精细)还是来自 WIFI/3G(粗糙)? 我不相信有明确的方法可以知道,尤其是在 Android 设备上,因为设备所有者最终决定了如何检索这些信息,并且设备之间的准确性差异是硬件(电子设备、天线、天线的机械布置等)和底层软件实现。在 Android 设置中,用户可以强制将位置设置为“高精度”或“省电”或“仅限设备”——所有这些都会影响读数的准确性,但您无法直接在应用程序中控制这些位置.

以上是关于Javascript 地理位置 - GPS 设置 - FINE 与 COARSE的主要内容,如果未能解决你的问题,请参考以下文章

根据 GPS 位置之间的距离过滤对象数组(javascript)

在没有互联网的情况下使用 Javascript 获取 GPS 位置 [重复]

JavaScript 地理定位:检查距 2 gps 坐标的距离

Javascript:使用 onx api 获取当前 GPS 位置?

Javascript/PHP 我可以获取 GPS 位置并将其发送给我吗?

在 JavaScript 中从 gps 位置指向另一个不指向正确方向的箭头