我正在开发Android应用程序,当用户进入特定位置时发出通知 用户可以使用纬度经度(即谷歌地图)指定位置 我知道如何获得纬度和经度,但我的问题是,当用户进入特定位置时,它将不会与之前指定的纬度&经度。
如图所示,当用户进入区域(约20米)时,用户指定名为“我的位置”的位置,然后应用程序应向用户发送通知。
我想知道如何比较纬度和&用户指定的经度(我的地方)和当前纬度&通过GPS获取应用程序的经度。
如果用户在20米的范围内靠近我的地方,那么这样做的比较是正确的。
(这20米是近似的。)
我可以设置Android的准确性,例如20米
谢谢。
答案 0 :(得分:17)
解决此问题的最佳方法是使用GeoFences功能。有关详细信息,请参阅https://developer.android.com/training/location/geofencing.html。
概要 - 应用程序向底层操作系统注册 - 说 - 这里是我希望你监控的我的地理位置列表(特定位置+距离位置的半径)。 - 如果我的用户进入这个地理围栏 - 叫醒我并告诉我。 - 在那个时间点 - 您可以继续执行任何步骤(调用服务器并询问您需要向用户显示哪些信息),或者只是发送推送通知(在应用程序通知中)以执行必要的工作。 / p>
希望这有帮助。
答案 1 :(得分:6)
查看LocationManager.addProximityAlert函数。它几乎完全符合您的要求。警告,它确实使用了大量的电池。
答案 2 :(得分:1)
您可以使用空间距离函数进行gps合并计算
来自Bluedotinnovation的点sdk(android& ios)具有更高的准确性和更少的电池消耗,同样来自Radar的免费sdk
雷达地理围栏比原生iOS或Android地理围栏功能更强大,支持无限地理围栏,多边形地理围栏,停止检测以及精确到30米的跨平台。
他们也有ReactNative支持。