谷歌地图 - distanceTo vs 接近警报 vs 地理围栏

3
我正在为移动应用程序构建一个需要定期监测用户位置和多个位置标记之间距离的功能。根据我在这里和其他网站上所读到的,我有三个选项:
1)使用distanceTo和distanceBetween函数计算用户位置和每个位置标记之间的距离 2)使用与每个标记位置相关联的接近警报 3)根据创建和监视地理围栏,使用与每个标记位置相关联的地理围栏
在易于实现、电池寿命以及GPS/位置准确性等方面,哪种方法最好?考虑到我主要为移动设计,我假设WiFi并不总是可用,故请帮助选择一种最优解决方案。
1个回答

3
关于 Google Play Geofencing API 的重要提示。我发现 Geofencing 没有从 GPS 硬件智能地检索位置。Geofence API 将观察操作系统中最准确的位置,或者如果没有最近的位置读数,则会导致通过 Wi-Fi / 蜂窝计算位置(这很糟糕,因为蜂窝定位非常不准确,Wi-Fi 通常不可用)。
因此,要从 Geofencing API 中获得响应迅速和准确的结果,您必须设置 Geofences,然后按时间间隔轮询 GPS 硬件,即使不使用接收到的结果,也可以在表面下向操作系统提供有价值的数据。
我不能具体说明 LocationManager.addProximityAlert 的行为,但我怀疑它的行为并没有不同。您实际上可以使用任何一个,结果和性能可能都是相同的,因为重要工作是手动唤醒 GPS。
至于如何实现与您的围栏之间的当前距离,任何接近度 API 都没有界面来确定这一点。在我描述的情况下,在进行 GPS 轮询时,我不会无视结果,而是将其与 distanceBetween 一起使用,以更新自己与设置 Geofences 的点之间的距离。

非常感谢您的回复,stealthwang。看起来让地理围栏正常工作需要很多工作。您认为按照您所描述的方式定期轮询GPS会对电池造成显著的耗损吗? - ConfusedByTheMetricSystem
我在测试中没有发现它存在问题,但由于我的应用程序的目标设备通常安装在车辆中,因此耗电量并未被广泛地进行分析。 - stealthwang

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接