昨天画了圆形,判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);
}
}
}

最新文章

  1. Android自定义ViewGroup
  2. UI第十五节——UIWebView
  3. AngularJs 脏值检查及其相关
  4. DIA
  5. App软件开发的完整在线流程(一看就懂)
  6. Linux之保留yum安装软件后的RPM包
  7. 使用Mysql ID自增长时 在Mapper的&lt;insert&gt;里添加对应的代码
  8. .net导出Word的一种方法
  9. Objective-C:内存管理
  10. 阻塞和非阻塞socket的区别
  11. 关于WM_NCHITTEST消息
  12. 轻松理解JavaScript之AJAX
  13. ubuntu下如何安装codeblocks集成开发环境
  14. Flutter之List
  15. python全栈开发day77-博客主页
  16. 小程序传id值
  17. AtCoder Grand Contest 029 翻车记
  18. [Python]网络爬虫(五):urllib2的使用细节与抓站技巧
  19. 如何在Solr中实现多core查询
  20. axios 与 Jquery-ajax 的使用区别

热门文章

  1. Day8~11(2016/1/28~2016/1/31)
  2. 关于js SDK的程序,java SDK的程序
  3. c# word 转pdf 导出失败,因为此功能尚未安装
  4. JS之对象
  5. Dedecms织梦系统修改文章描述字数长度的方法
  6. asp.net页面间传值方式
  7. 面向对象php基本格式、构造、析构、访问修饰符
  8. linux 查看磁盘剩余命令
  9. Unity NGUI 资源下载
  10. android开发中scrollview添加自定义view的滑动显示问题