<!doctype html>
<html>
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="initial-scale=1.0, user-scalable=no, width=device-width">
<title>覆盖物事件</title>
<link rel="stylesheet" href="https://a.amap.com/jsapi_demos/static/demo-center/css/demo-center.css" />
<style>
html,
body,
#container {
height: 100%;
width: 100%;
}
.marker-icon {
width: 24px;
height: 24px;
color: #fff;
background: url(images/mark.png);
font-size: 14px;
text-align: center;
align-items: center;
}
</style>
</head>
<body>
<div id="container"></div>
<div class="input-card" style="width:18rem">
<h4>覆盖物拖拽事件的绑定与解绑</h4>
<div>
<div class="input-item">
<button id="clickOn" class="btn" style="margin-right:1rem;" onclick="redrawAll(0)">1</button>
<button id="clickOn" class="btn" style="margin-right:1rem;" onclick="redrawAll(1)">2</button>
</div>
</div>
</div>
<script type="text/javascript" src="https://webapi.amap.com/maps?v=1.4.15&key=您申请的key值"></script>
<script src="https://a.amap.com/jsapi_demos/static/demo-center/js/demoutils.js"></script>
<script type="text/javascript">
//初始化地图对象,加载地图
var map = new AMap.Map("container", {
resizeEnable: true
});
var marker
var positionList = [] // 用来存放经纬
var markList = [] // 用来存放marker
map.on('click', function (e) {
let arr = [e.lnglat.getLng(), e.lnglat.getLat()];
positionList.push(arr)
AddPoint(arr)
});
function AddPoint (arr) {
marker = new AMap.Marker({
position: arr,//位置
})
map.add(marker);//添加到地图
markList.push(marker)
}
// 重绘一下所有marker,第index那个设置为可拖动
function redrawAll (index) {
map.remove(markList); // 清除所有点位
// 循环一下所有点位
for (let i = 0; i < positionList.length; i++) {
AddPoint(positionList[i])
if (index === i) {
var content = '<div class="marker-icon">移</div>'; // 自定义marker
marker.setDraggable(true) // 设置为可拖动
marker.setContent(content)
marker.on('dragging', showInfoM);
}
}
}
function showInfoM (e) {
console.log(e)
}
</script>
</body>
</html>
04-10
1630
![](https://csdnimg.cn/release/blogv2/dist/pc/img/readCountWhite.png)