Android:构建多边形形状地理围栏

时间:2015-08-06 06:08:22

标签: android android-maps-v2 geofencing android-geofence android-maps-extensions

根据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&耗电......

谢谢,

2 个答案:

答案 0 :(得分:7)

你必须自己做(但我认为它相当无意义 - 地理围栏/位置服务是不准确的,甚至不能提醒圈子,甚至不考虑其他一些具体的形状)。

创建包含多边形的最小圆形地理围栏,如果触发,只需检查您是否在Google Maps Android API utility library内的多边形内。

换句话说,检查你是否处于白色区域而不是灰色:

enter image description here

答案 1 :(得分:0)

Android Geofencing API仅支持Circular Geofences。如果你想监视多边形的地理围栏,那么你必须自己实现它。

一种解决方案是这样的:

使用Location API获取当前位置信息。

现在你有了多边形的地理围栏。您可以使用光线投射算法来检查点是否在闭合多边形内?