对于我的android编程方法,我有一个问题--它是否有效。只是想让你知道我想做些什么:
地图上有多个兴趣点。如果用户离坑越近,就会出现关于距离的通知。这里有三个通知:1英里、0.5英里和0.1英里。当用户或多或少地处于陷阱时,就不会显示更多的通知。用户应该驾驶一辆车或另一辆车。
我目前正在使用Geofence来检测用户是否进入了半径为1英里的半径。如果是这样的话,我会检查他目前的位置到坑的距离。如果它在0.5或0.1英里之外,就会发出通知。因此,我经常检查当前位置(现在每10秒)。如果用户就像在坑里,或者说非常接近,那么Geofence就会退出并完成。
代码运行良好,这种方法是我在阅读Android开发人员的教程时想到的第一件事。但是,还有更高效的方法吗?
虽然这(目前)符合我的需要,但我有两项主要关注:
发布于 2015-04-18 21:41:34
我有几个建议:
1)为了减少gps修复的数量,你可以计算睡眠时间。这样做的目的是在靠近“边界”时进行频繁的gps定位,而在很远的地方很少进行gps定位。考虑到全球定位系统返回的速度参数,可以进一步加强这一点。例如,如果用户在开车20英里/小时时离最近的边界20英里,你可以轻松地等待30分钟,然后再打开gps,举个简单的例子。
2)我遇到了同样的问题。我的解决方案是只选择在X英里内的POI。这样才能确保永远不会冒险达到100的极限。当用户从初始位置移动(X-1)英里时,地理位置将使用新的位置进行重建。如果你认为拥有如此高密度的点的风险很高,上面的策略可能还会下降,我会考虑让你自己的接近检查完全基于gps而不是地理位置。
https://stackoverflow.com/questions/29722080
复制相似问题