百度地图 判断marker是否在多边形内
Posted 笔记
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了百度地图 判断marker是否在多边形内相关的知识,希望对你有一定的参考价值。
昨天画了圆形,判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); } } }
以上是关于百度地图 判断marker是否在多边形内的主要内容,如果未能解决你的问题,请参考以下文章