地理围栏(Geo-fencing)是LBS的一种新应用,就是用一个虚拟的栅栏围出一个虚拟地理边界。当手机进入、离开某个特定地理区域,或在该区域内活动时,手机可以接收自动通知和警告。简单来说就是判断一个点是否在某区域内。
如果们用百度地图API来实现地理围栏还是有一定难度的,围栏是圆或者规则多边形还好说,如果围栏是不规则多边形那我们就有点无从下手了,但是百度API团队为我们提供了一个简单的方法——* GeoUtils*
这个库使用起来非常简单,大家可以参考类参考文档:
可以看出GeoUtils不只可用于地理围栏还能用于测距和求面积,十分实用。接下以一个小例子用GeoUtils模拟地理围栏:
主要思路是:定时获取用户位置信息,如果用户离开预定的多边形区域则弹出警告框。
1、添加多边形(地理围栏)
var polygon = new BMap.Polygon([
new BMap.Point(115.8444,28.737246