百度地图 判断marker是否在多边形内

简介: 昨天画了圆形,判marker是否存在圆形内。今天来画多边形,判断marker在多边形内。 需要引入一个js      百度地图API覆盖物多边形类  http://developer.baidu.

 昨天画了圆形,判marker是否存在圆形内。今天来画多边形,判断marker在多边形内。

需要引入一个js      <script type="text/javascript" src="http://api.map.baidu.com/library/GeoUtils/1.2/src/GeoUtils.js"></script>

百度地图API覆盖物多边形类 

http://developer.baidu.com/map/reference/index.php?title=Class:%E8%A6%86%E7%9B%96%E7%89%A9%E7%B1%BB/Polygon

http://developer.baidu.com/map/reference/index.php?title=Class:%E8%A6%86%E7%9B%96%E7%89%A9%E7%B1%BB/PolygonOptions

 

和前一篇差不多的,改变的地方就是画矩形,判断点在矩形内的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" && overlays[i].id){
                                  //判断marker是否在多边形内
                                    if(BMapLib.GeoUtils.isPointInPolygon(overlays[i].getPosition(), polygon)){
                                       maker_arr.push(overlays[i]);                                   
                                       maker_id.push(overlays[i].id);                                      
                                  }                                    
                              }
                            } 

 

相关文章
|
6月前
|
定位技术
97Echarts - 地理坐标/地图(Draw Polygon on Map)
97Echarts - 地理坐标/地图(Draw Polygon on Map)
25 0
|
5月前
查找并绘制轮廓
查找并绘制轮廓
25 0
|
9月前
|
定位技术
百度地图开发:批量增加折线、多边形覆盖物的封装函数
百度地图开发:批量增加折线、多边形覆盖物的封装函数
48 0
|
6月前
cesium中绘制立方体、设置材质、操作相机及获取鼠标经纬度和高度的方法
cesium中绘制立方体、设置材质、操作相机及获取鼠标经纬度和高度的方法
103 0
|
6月前
|
存储 前端开发
canvas自定义绘制顺序解决遮挡问题
canvas自定义绘制顺序解决遮挡问题
78 0
|
9月前
|
编解码 前端开发 PHP
悬浮坐标解决方案:如何在图片获取xy鼠标位置和增加标注信息
悬浮坐标解决方案:如何在图片获取xy鼠标位置和增加标注信息
69 0
|
Android开发
|
API 定位技术 UED
百度地图API二:根据标注点坐标范围计算显示缩放级别zoom自适应显示地图
原文:百度地图API二:根据标注点坐标范围计算显示缩放级别zoom自适应显示地图 版权声明:本文为博主原创文章,转载请注明出处。 https://blog.csdn.net/liusaint1992/article/details/50071613 上一文章讲了如何给地图添加点击事件做出不同的反应。
4882 0