// 绘制(圈选)对象 drawingManager
drawingManager = new BMapLib.DrawingManager(map, {
isOpen: true,
enableDrawingTool: false,
circleOptions: styleOptions, // 圆的样式
polygonOptions: styleOptions, // 多边形的样式
rectangleOptions: styleOptions, // 矩形的样式
});
enableCalculate: true, // 是否计算图形面积
this._addGeoUtilsLibrary();
drawingManager.addEventListener("overlaycomplete", function (e) {
// 添加绘制物
surfaceOverlays.push(e.overlay);
});
// 清除绘制物
function closeMeasuringSurface() {
surfaceOverlays.forEach((value) => {
value.remove();
});
}
drawingManager.addEventListener("overlaycomplete", function (e) {
console.log('====================================');
console.log('e', e);
console.log('====================================');
// 添加绘制物
surfaceOverlays.push(e.overlay);
});
drawingManager.addEventListener("overlaycomplete", function (e) {
// 添加绘制物
surfaceOverlays.push(e.overlay);
// 也需要把面积的label一起push了到时候一起清除
surfaceOverlays.push(e.label);
});
<!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;
}
#allmap {
zoom: 1;
overflow: hidden;
position: relative;
width: 100%;
height: 100vh;
}
#map {
height: 100%;
transition: all 0.5s ease-in-out;
-webkit-transition: all 0.5s ease-in-out;
}
button {
position: absolute;
top: 80px;
left: 50px;
z-index: 2022;
}
</style>
<button onclick="closeMeasuringSurface()">清除绘制物</button>
<!-- 百度地图申请的秘钥 -->
<script src="//api.map.baidu.com/api?type=webgl&v=3.0&ak=密钥"></script>
<!--加载鼠标绘制工具-->
<script type="text/javascript" src="//api.map.baidu.com/library/DrawingManager/1.4/src/DrawingManager_min.js"></script>
<link rel="stylesheet" href="//api.map.baidu.com/library/DrawingManager/1.4/src/DrawingManager_min.css" />
</head>
<body>
<div id="allmap">
<div id="map"></div>
</div>
<script type="text/javascript">
// map就是上面的div的id
var map = new BMap.Map("map");
// 初始点位
var poi = new BMap.Point(116.307852, 40.057031);
map.centerAndZoom(poi, 16);
// 启用滚轮放大缩小,默认禁用
map.enableScrollWheelZoom();
var styleOptions = {
strokeColor: "red", // 边线颜色
fillColor: "red", // 填充颜色。当参数为空时,圆形将没有填充效果
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, // 是否显示工具栏
enableCalculate: true, // 是否计算图形面积
circleOptions: styleOptions, // 圆的样式
polylineOptions: styleOptions, // 线的样式
polygonOptions: styleOptions, // 多边形的样式
rectangleOptions: styleOptions, // 矩形的样式
});
// 绘制物数组,用来清除绘制物
var surfaceOverlays = [];
drawingManager.addEventListener("overlaycomplete", function (e) {
// 添加绘制物
surfaceOverlays.push(e.overlay);
// 也需要把面积的label一起push了到时候一起清除
surfaceOverlays.push(e.label);
});
// 清除绘制物
function closeMeasuringSurface() {
surfaceOverlays.forEach((value) => {
value.remove();
});
}
</script>
</body>
</html>
此页面不支持夜间模式!
已进入夜间模式!
已进入普通模式!
搜索框不允许为空
签到成功!经验+5!芋圆币+2!
签到失败!今日已签到!
需要登录社区账号才可以进入!