百度地图多边形覆盖物,可自定义颜色、个数,并获取坐标。
直接上代码,用户可以选择相应的颜色在地图上描多边形。
<!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>
百度地图多边形覆盖物,可自定义颜色、个数,并获取坐标。相关推荐
- 百度地图自定义覆盖物,在手机上无法监听click事件
百度地图自定义覆盖物,在手机上无法监听click事件 最近在做手机web端集成百度地图遇到了个坑儿:手机端不支持自定义覆盖物的click事件: 1.自带的marker是支持的(marker不属于自定义 ...
- android 百度地图标注覆盖物学习
介绍 最近着手做一个新的项目,其中涉及到地图定位,以及从服务器获取附近的特定商家并在地图上面标注出来.于是就研究了一下百度地图标注覆盖物功能,然后进行一点个人总结,以便学习交流使用,个人学习总结还请各 ...
- 高德地图多边形覆盖物等间距缩小或者放大算法
需求: 高德地图多边形覆盖物等间距缩小,效果如下 原理可参考:https://blog.csdn.net/weixin_38169413/article/details/101161891 实现 第一 ...
- 新版百度地图的覆盖物描述
在百度地图上 我们可以自己定义覆盖物 然后添加到地图上 添加覆盖物的流程大体一致 不管是添加 弧线 文字 矩形 多边形 圆形 等等 添加覆盖物 : 先以一个Marker为例 1 .定义Make ...
- 百度地图自定义覆盖物工具栏,修改标识图标
drawingManager工具栏 drawingModes设置工具栏模式 直接上效果代码 <!DOCTYPE html> <html> <head><met ...
- 高德地图多边形覆盖物添加、获取、删除
最近在做有关地图的项目 汇总一下 方便以后使用 不喜勿喷 上图是覆盖物绘制完成之后的编辑状态 引入高德地图js <script src="https://webapi.amap.com ...
- JS如何在高德地图多边形覆盖物填充平行折线的算法
需求:在多边形覆盖物中填充折线 实现 第一步: 用JS封装一个对象或者采用ES6的Class写法,并将地图经纬度转成坐标点 class ScanFill {allPoints = [] // 存多边形 ...
- 百度地图自定义覆盖物
1.覆盖物函数 百度地图本身就有自己的图标,在开发过程中我们有时候需要自定义地图上显示的坐标图标,我们可以用图片来代替百度地图本身的这些图标,这样我们就可以跟进需求定制我们想要的效果. iconPat ...
- android 高德地图 删除多边形,高德地图多边形覆盖物添加、获取、删除
最近在做有关地图的项目 汇总一下 方便以后使用 上图是覆盖物绘制完成之后的编辑状态 引入高德地图js P.s. plugin后跟的是地图插件 1.覆盖物绘制 map.plugin(["AMa ...
最新文章
- 人脸识别引擎SeetaFaceEngine简介及在windows7 vs2013下的编译
- 同时支持三个mysql+sqlite+pdo的php数据库类_同时支持三个MySQL+SQLite+PDO的PHP数据库类...
- 脚本征集大赛开启啦!100%有奖!
- java 鼠标单击_不通过鼠标点击,单纯的通过Java代码生成鼠标单击事件
- 剑指offer58-||.左旋转字符串
- C# 多线程编程 ThreadStart ParameterizedThreadStart
- jqGrid colModel 参数(来自中文手册)
- Socket编程入门
- mapreduce的二次排序 SecondarySort
- 竞价推广的流程有哪些?
- Django Ajax文件下载
- Python Pymysql实现数据存储
- 高等数学 关于反三角函数arcsin(sinx)的问题
- Python 之亮闪闪的七段数码管
- 荣耀开发者关怀月邂逅1024程序员节,请开发者喝咖啡
- 斐讯k3怎么设置虚拟服务器,斐讯K3路由器无线中继怎么设置?
- ACL 2021 Question Answering
- 【机器学习】聚类算法DBSCAN、K-means、Mean Shift对比分析及具体代码实现
- LSP劫持与网络数据转发代理服务器的心得笔记
- oppo怎么打开科学计算机,OPPOr11的计算器怎么打开
热门文章
- These query results are not updateable.Include the ROWID to get updateable results.
- Python态势感知系统(附源码)
- 天道地道人道_为人道主义事业开展免费软件项目
- 实证研究的步骤_实证研究该怎么做?
- 黑客的基本知识及常用入侵手段
- python与seo实战课程百度云_Python与seo实战课程 | 「讲文兄博客」
- pycharm 改回插入模式
- 所需 VMware Tools ISO 映像不存在或无法访问/2003vmtools无法安装
- 【PyTorch】8 语言翻译Torchtext实战——英语和德语翻译、Attention模型、 Pytorch 1.8 安装
- icp光谱仪的工作原理_ICP工作原理