百度地图 判断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);                                      
                                  }                                    
                              }
                            } 

 

相关文章
|
JavaScript 搜索推荐 前端开发
Vue的SSR 是什么,优缺点分析
Vue的服务器端渲染(SSR)是一种将Vue组件在服务器上执行,并生成完整的HTML页面的技术,这个HTML页面随后被发送至客户端的浏览器进行展示。
|
JSON 前端开发 JavaScript
Webpack5新特性:使用 Assets Module 处理图片和字体资源
本文介绍了 Webpack5 的 Assets Module ,是其内置的用来处理图片字体文件等资源模块的新功能。相比与过去通过 loader 的方式去处理,更加方便和简洁。
1608 0
|
SQL 关系型数据库 数据库
|
机器学习/深度学习 人工智能 自动驾驶
企业内训|AI大模型在汽车行业的前沿应用研修-某汽车集团
本课程是TsingtaoAI为某汽车集团高级项目经理设计研发,课程全面系统地解析AI的发展历程、技术基础及其在汽车行业的深度应用。通过深入浅出的理论讲解、丰富的行业案例分析以及实战项目训练,学员将全面掌握机器学习、深度学习、NLP与CV等核心技术,了解自动驾驶、智能制造、车联网与智能营销等关键应用场景,洞悉AI技术对企业战略布局的深远影响。
777 97
|
9月前
|
人工智能 自然语言处理 算法
腾讯赋能,销售易CRM将引领企业数字化增长新范式
销售易作为国内领先的CRM服务商,自2017年获得腾讯战略投资后,深度融合腾讯云、AI等技术,构建“产品+生态”双重竞争力。依托腾讯云的全球化基础设施和AI算法,销售易实现智能化客户洞察、自动化流程引擎和实时数据分析,为企业提供全场景、智能化的客户管理解决方案。通过与微信、企业微信无缝对接,销售易重塑了客户连接体验,助力企业在社交化客户管理和私域运营中取得突破。此外,销售易深耕制造、医疗等行业,结合腾讯产业互联网资源,打造垂直场景解决方案,推动中国CRM行业向更高维度进化。在腾讯SaaS生态的支持下,销售易不仅提供数字化系统,更成为企业智能业务中枢,助力长效增长。
|
10月前
|
弹性计算 算法 Linux
使用SM4算法加密LUKS格式磁盘
本文介绍了在Anolis 8操作系统使用cryptsetup对磁盘进行分区、加密和挂载的过程。采用SM4加密算法。具体步骤包括:初始化加密卷、解锁加密分区、格式化并挂载设备。最后,展示了如何取消挂载并关闭加密卷以确保数据安全。整个过程确保了磁盘数据的安全性和隐私保护。
814 2
使用SM4算法加密LUKS格式磁盘
|
前端开发 JavaScript
如何在文本域右下角设置字数限制提示
如何在文本域右下角设置字数限制提示
525 3
|
存储 Python
【可定制、转换时间戳】解析nc文件,并保存为csv文件
【可定制、转换时间戳】解析nc文件,并保存为csv文件
1031 4
|
弹性计算 负载均衡 网络架构
搞懂链路负载及入口带宽和出口带宽
搞懂链路负载及入口带宽和出口带宽
701 7
|
NoSQL 关系型数据库 MySQL
Redis入门到通关之Redis实现Session共享
Redis入门到通关之Redis实现Session共享
587 0

热门文章

最新文章