标签:
昨天画了圆形,判marker是否存在圆形内。今天来画多边形,判断marker在多边形内。
百度地图API覆盖物多边形类
和前一篇差不多的,改变的地方就是画矩形,判断点在矩形内的js;
// 画可编辑矩形 var mPoint=new BMap.Point(e.lng,e.lat);// 得到中心点坐标 var pStart = new BMap.Point(e.lng,e.lat); var pEnd = new BMap.Point((e.lng+0.1),(e.lat+0.1)); var polygon = new BMap.Polygon([ new BMap.Point(pStart.lng,pStart.lat), new BMap.Point(pEnd.lng,pStart.lat), new BMap.Point(pEnd.lng,pEnd.lat), new BMap.Point(pStart.lng,pEnd.lat) ], {strokeColor:"blue", strokeWeight:1, strokeOpacity:0.5}); map.addOverlay(polygon); polygon.enableEditing();
判断点在多边形内
for(var i=0;i<overlays.length;i++){ //判断 覆盖物为标注的并且是在圆形区域内部的 if(overlays[i].uQ == "Marker"){ //判断marker是否在多边形内 if(BMapLib.GeoUtils.isPointInPolygon(overlays[i].getPosition(), polygon)){ maker_arr.push(overlays[i]); maker_id.push(overlays[i].id); } } }
标签:
原文地址:http://www.cnblogs.com/hellokitty1/p/5955923.html