根据API文档,只允许圆形Geofences:
https://developers.google.com/android/reference/com/google/android/gms/location/Geofence.Builder
它的例子如下:https://developer.android.com/training/location/geofencing.html
但我有4个位置,代表矩形的4个角,我希望我的Geofence成为那个矩形。
我想避免构建我的自定义位置监控服务的解决方案,扩展监控Geofences的功能,因为我认为这种服务是CPU&耗电......
谢谢,
答案 0 :(得分:7)
你必须自己做(但我认为它相当无意义 - 地理围栏/位置服务是不准确的,甚至不能提醒圈子,甚至不考虑其他一些具体的形状)。
创建包含多边形的最小圆形地理围栏,如果触发,只需检查您是否在Google Maps Android API utility library内的多边形内。
换句话说,检查你是否处于白色区域而不是灰色:
答案 1 :(得分:0)
Android Geofencing API仅支持Circular Geofences。如果你想监视多边形的地理围栏,那么你必须自己实现它。
一种解决方案是这样的:
使用Location API获取当前位置信息。
现在你有了多边形的地理围栏。您可以使用光线投射算法来检查点是否在闭合多边形内?