直接上代码,用户可以选择相应的颜色在地图上描多边形。

<!DOCTYPE html>
<html>
<head><meta http-equiv="Content-Type" content="text/html; charset=utf-8" /><meta name="viewport" content="initial-scale=1.0, user-scalable=no" /><style type="text/css">body, html{width: 100%;height: 100%;margin:0;font-family:"微软雅黑";}#allmap {width: 100%; height:500px; overflow: hidden;}#result {width:100%;font-size:12px;}dl,dt,dd,ul,li{margin:0;padding:0;list-style:none;}p{font-size:12px;}dt{font-size:14px;font-family:"微软雅黑";font-weight:bold;border-bottom:1px dotted #000;padding:5px 0 5px 5px;margin:5px 0;}dd{padding:5px 0 0 5px;}li{line-height:28px;}</style><script type="text/javascript" src="http://api.map.baidu.com/api?v=2.0&ak=你自己在百度申请的web客户单key"></script><!--加载鼠标绘制工具--><script type="text/javascript" src="http://api.map.baidu.com/library/DrawingManager/1.4/src/DrawingManager_min.js"></script><link rel="stylesheet" href="http://api.map.baidu.com/library/DrawingManager/1.4/src/DrawingManager_min.css" /><!--加载检索信息窗口--><script type="text/javascript" src="http://api.map.baidu.com/library/SearchInfoWindow/1.4/src/SearchInfoWindow_min.js"></script><link rel="stylesheet" href="http://api.map.baidu.com/library/SearchInfoWindow/1.4/src/SearchInfoWindow_min.css" /><title>鼠标绘制工具</title>
</head>
<body><div id="allmap" style="overflow:hidden;zoom:1;position:relative;"> <div id="map" style="height:100%;-webkit-transition: all 0.5s ease-in-out;transition: all 0.5s ease-in-out;"></div></div><div id="result"><input type="button" value="获取绘制的覆盖物个数" onclick="alert(overlays.length)"/><input type="button" value="清除所有覆盖物" onclick="clearAll()"/><input type="button" value="红" onclick="a()"/><input type="button" value="蓝" onclick="b()"/><input type="button" value="黄" onclick="c()"/></div><script type="text/javascript">// 百度地图API功能var ys="red"var map = new BMap.Map('map');var poi = new BMap.Point(116.307852,40.057031);map.centerAndZoom(poi, 16);map.enableScrollWheelZoom();  var overlays = [];var overlaycomplete = function(e){if(overlays.length>0){alert('覆盖物只能标注一个')clearAll();} overlays.push(e.overlay);var path = e.overlay.getPath();//Array<Point> 返回多边型的点数组for(var i=0;i<path.length;i++){alert("lng:"+path[i].lng+"\n lat:"+path[i].lat)console.log("lng:"+path[i].lng+"\n lat:"+path[i].lat);}};var styleOptions = {strokeColor:ys,    //边线颜色。fillColor:ys,      //填充颜色。当参数为空时,圆形将没有填充效果。strokeWeight: 3,       //边线的宽度,以像素为单位。strokeOpacity: 0.8,      //边线透明度,取值范围0 - 1。fillOpacity: 0.6,      //填充的透明度,取值范围0 - 1。strokeStyle: 'solid' //边线的样式,solid或dashed。}//实例化鼠标绘制工具var drawingManager = new BMapLib.DrawingManager(map, {isOpen: false, //是否开启绘制模式enableDrawingTool: true, //是否显示工具栏drawingToolOptions: {anchor: BMAP_ANCHOR_TOP_RIGHT, //位置offset: new BMap.Size(5, 5), //偏离值},circleOptions: styleOptions, //圆的样式polylineOptions: styleOptions, //线的样式polygonOptions: styleOptions, //多边形的样式rectangleOptions: styleOptions //矩形的样式});  //添加鼠标绘制工具监听事件,用于获取绘制结果drawingManager.addEventListener('overlaycomplete', overlaycomplete);function clearAll() {for(var i = 0; i < overlays.length; i++){map.removeOverlay(overlays[i]);}overlays.length = 0   }function a(){ys="red";var styleOptions = {strokeColor:ys,    //边线颜色。fillColor:ys,      //填充颜色。当参数为空时,圆形将没有填充效果。strokeWeight: 3,       //边线的宽度,以像素为单位。strokeOpacity: 0.8,      //边线透明度,取值范围0 - 1。fillOpacity: 0.6,      //填充的透明度,取值范围0 - 1。strokeStyle: 'solid' //边线的样式,solid或dashed。}//实例化鼠标绘制工具drawingManager = new BMapLib.DrawingManager(map, {isOpen: false, //是否开启绘制模式enableDrawingTool: true, //是否显示工具栏drawingToolOptions: {anchor: BMAP_ANCHOR_TOP_RIGHT, //位置offset: new BMap.Size(5, 5), //偏离值},circleOptions: styleOptions, //圆的样式polylineOptions: styleOptions, //线的样式polygonOptions: styleOptions, //多边形的样式rectangleOptions: styleOptions //矩形的样式});  //添加鼠标绘制工具监听事件,用于获取绘制结果drawingManager.addEventListener('overlaycomplete', overlaycomplete);}function b(){ys="blue";var styleOptions = {strokeColor:ys,    //边线颜色。fillColor:ys,      //填充颜色。当参数为空时,圆形将没有填充效果。strokeWeight: 3,       //边线的宽度,以像素为单位。strokeOpacity: 0.8,    //边线透明度,取值范围0 - 1。fillOpacity: 0.6,      //填充的透明度,取值范围0 - 1。strokeStyle: 'solid' //边线的样式,solid或dashed。}//实例化鼠标绘制工具drawingManager = new BMapLib.DrawingManager(map, {isOpen: false, //是否开启绘制模式enableDrawingTool: true, //是否显示工具栏drawingToolOptions: {anchor: BMAP_ANCHOR_TOP_RIGHT, //位置offset: new BMap.Size(5, 5), //偏离值},circleOptions: styleOptions, //圆的样式polylineOptions: styleOptions, //线的样式polygonOptions: styleOptions, //多边形的样式rectangleOptions: styleOptions //矩形的样式});  //添加鼠标绘制工具监听事件,用于获取绘制结果drawingManager.addEventListener('overlaycomplete', overlaycomplete);}function c(){ys="yellow";var styleOptions = {strokeColor:ys,    //边线颜色。fillColor:ys,      //填充颜色。当参数为空时,圆形将没有填充效果。strokeWeight: 3,       //边线的宽度,以像素为单位。strokeOpacity: 0.8,      //边线透明度,取值范围0 - 1。fillOpacity: 0.6,      //填充的透明度,取值范围0 - 1。strokeStyle: 'solid' //边线的样式,solid或dashed。}//实例化鼠标绘制工具drawingManager = new BMapLib.DrawingManager(map, {isOpen: false, //是否开启绘制模式enableDrawingTool: true, //是否显示工具栏drawingToolOptions: {anchor: BMAP_ANCHOR_TOP_RIGHT, //位置offset: new BMap.Size(5, 5), //偏离值},circleOptions: styleOptions, //圆的样式polylineOptions: styleOptions, //线的样式polygonOptions: styleOptions, //多边形的样式rectangleOptions: styleOptions //矩形的样式});  //添加鼠标绘制工具监听事件,用于获取绘制结果drawingManager.addEventListener('overlaycomplete', overlaycomplete);}
</script>
</body>
</html>

百度地图多边形覆盖物,可自定义颜色、个数,并获取坐标。相关推荐

  1. 百度地图自定义覆盖物,在手机上无法监听click事件

    百度地图自定义覆盖物,在手机上无法监听click事件 最近在做手机web端集成百度地图遇到了个坑儿:手机端不支持自定义覆盖物的click事件: 1.自带的marker是支持的(marker不属于自定义 ...

  2. android 百度地图标注覆盖物学习

    介绍 最近着手做一个新的项目,其中涉及到地图定位,以及从服务器获取附近的特定商家并在地图上面标注出来.于是就研究了一下百度地图标注覆盖物功能,然后进行一点个人总结,以便学习交流使用,个人学习总结还请各 ...

  3. 高德地图多边形覆盖物等间距缩小或者放大算法

    需求: 高德地图多边形覆盖物等间距缩小,效果如下 原理可参考:https://blog.csdn.net/weixin_38169413/article/details/101161891 实现 第一 ...

  4. 新版百度地图的覆盖物描述

    在百度地图上 我们可以自己定义覆盖物 然后添加到地图上 添加覆盖物的流程大体一致 不管是添加 弧线  文字  矩形  多边形 圆形 等等 添加覆盖物 :  先以一个Marker为例 1 .定义Make ...

  5. 百度地图自定义覆盖物工具栏,修改标识图标

    drawingManager工具栏 drawingModes设置工具栏模式 直接上效果代码 <!DOCTYPE html> <html> <head><met ...

  6. 高德地图多边形覆盖物添加、获取、删除

    最近在做有关地图的项目 汇总一下 方便以后使用 不喜勿喷 上图是覆盖物绘制完成之后的编辑状态 引入高德地图js <script src="https://webapi.amap.com ...

  7. JS如何在高德地图多边形覆盖物填充平行折线的算法

    需求:在多边形覆盖物中填充折线 实现 第一步: 用JS封装一个对象或者采用ES6的Class写法,并将地图经纬度转成坐标点 class ScanFill {allPoints = [] // 存多边形 ...

  8. 百度地图自定义覆盖物

    1.覆盖物函数 百度地图本身就有自己的图标,在开发过程中我们有时候需要自定义地图上显示的坐标图标,我们可以用图片来代替百度地图本身的这些图标,这样我们就可以跟进需求定制我们想要的效果. iconPat ...

  9. android 高德地图 删除多边形,高德地图多边形覆盖物添加、获取、删除

    最近在做有关地图的项目 汇总一下 方便以后使用 上图是覆盖物绘制完成之后的编辑状态 引入高德地图js P.s. plugin后跟的是地图插件 1.覆盖物绘制 map.plugin(["AMa ...

最新文章

  1. 人脸识别引擎SeetaFaceEngine简介及在windows7 vs2013下的编译
  2. 同时支持三个mysql+sqlite+pdo的php数据库类_同时支持三个MySQL+SQLite+PDO的PHP数据库类...
  3. 脚本征集大赛开启啦!100%有奖!
  4. java 鼠标单击_不通过鼠标点击,单纯的通过Java代码生成鼠标单击事件
  5. 剑指offer58-||.左旋转字符串
  6. C# 多线程编程 ThreadStart ParameterizedThreadStart
  7. jqGrid colModel 参数(来自中文手册)
  8. Socket编程入门
  9. mapreduce的二次排序 SecondarySort
  10. 竞价推广的流程有哪些?
  11. Django Ajax文件下载
  12. Python Pymysql实现数据存储
  13. 高等数学 关于反三角函数arcsin(sinx)的问题
  14. Python 之亮闪闪的七段数码管
  15. 荣耀开发者关怀月邂逅1024程序员节,请开发者喝咖啡
  16. 斐讯k3怎么设置虚拟服务器,斐讯K3路由器无线中继怎么设置?
  17. ACL 2021 Question Answering
  18. 【机器学习】聚类算法DBSCAN、K-means、Mean Shift对比分析及具体代码实现
  19. LSP劫持与网络数据转发代理服务器的心得笔记
  20. oppo怎么打开科学计算机,OPPOr11的计算器怎么打开

热门文章

  1. These query results are not updateable.Include the ROWID to get updateable results.
  2. Python态势感知系统(附源码)
  3. 天道地道人道_为人道主义事业开展免费软件项目
  4. 实证研究的步骤_实证研究该怎么做?
  5. 黑客的基本知识及常用入侵手段
  6. python与seo实战课程百度云_Python与seo实战课程 | 「讲文兄博客」
  7. pycharm 改回插入模式
  8. 所需 VMware Tools ISO 映像不存在或无法访问/2003vmtools无法安装
  9. 【PyTorch】8 语言翻译Torchtext实战——英语和德语翻译、Attention模型、 Pytorch 1.8 安装
  10. icp光谱仪的工作原理_ICP工作原理