我想在我的Android / iOS应用程序中使用某些功能,即 U 用户正在前往 L 位置,所以当 U 为15分钟时远离 L 位置,他/她将获得一些通知。
到目前为止我尝试了什么:
但对于第一种方法,调用google API并不是实现这一目标的正确方法。 在第二种方法中,问题是我的位置不固定,可能会有所不同。 因此,每个地点的地理围栏半径应该不同,因为该地点的旅行时间不同。
根据我的说法,Geo-fence是一个很好的解决方案,但它的动态半径正在产生问题。
那么还有其他方法可以实现吗?或者我们可以以任何方式解决Geo-fence的动态半径问题?
答案 0 :(得分:0)
对于地理围栏"动态半径"您可以使用这样的解决方法:将地理围栏半径设置为最大可能,而不是在GEOFENCE_TRANSITION_ENTER
处理程序上测试用户位置,并且仅在实际半径小于您需要时执行所需操作。这样的事情:
...
// Get the transition type.
int geofenceTransition = geofencingEvent.getGeofenceTransition();
// Test that the reported transition was of interest.
if (geofenceTransition == Geofence.GEOFENCE_TRANSITION_ENTER) {
// start continuously calculate actual radius here
// actualRadius = calcActualRadius();
// if (actualRadius < RADIUS_FOR_YOUR_CONDITION) {
// // do what you need
// }
}
...