判断百度地图上的一个点是否在一个多边形区域内
1、首先获取该点的经纬度,百度坐标
2、将所有点,封装成百度point对象,要引入百度地图jdk,script标签引入
3、用GeoUtils插件提供的方法判断
//polygonArray是多边形区域的各点的经纬度 //longtitude,latitude是要判断的点的经纬度 //_是undersotre插件 isInPolygon: function (polygonArray, longitude, latitude) { if (longitude < 1 || latitude < 1) return true; var polygonArray = polygonArray; var mapPolygon = []; _.each(polygonArray, function (item) { var points = []; _.each(item, function (point) { points.push(new BMap.Point(point.lng,point.lat)); }); var polygon = new BMap.Polygon(points); //创建多边形 mapPolygon.push(polygon); }); var isIn = _.some(mapPolygon, function (polygon) { return BMapLib.GeoUtils.isPointInPolygon(new BMap.Point(longitude, latitude), polygon); }); if (isIn) { return true; } else { return false; } }