实现一个功能,用户点击地图获取坐标,并显示标注,但仅有一个标注
let _this = this // 百度地图API功能 map = new BMap.Map("allmap_local"); let point = new BMap.Point(108.944, 18.475); map.centerAndZoom(point, 13); map.enableScrollWheelZoom(); //启用滚轮放大缩小,默认禁用 map.enableContinuousZoom(); //启用地图惯性拖拽,默认禁用 //获取坐标与图标 function showInfo(e) { _this.kaoqinAxis = e.point.lng + ", " + e.point.lat point = new BMap.Point(e.point.lng, e.point.lat); let marker = new BMap.Marker(point); map.addOverlay(marker); //增加点 window.sessionStorage.setItem('marker', JSON.stringify(point)) //获取地图上的所有标注 getOverlays() var allOverlay = map.getOverlays(); //遍历标注数组 allOverlay.forEach((ele) => { //只获取到有标注的数组,去除没有标注的数组 if(ele.toString() == "[object Marker]") { //判断如果去除的经纬度有一个不一样,那么就把之前标注的图标去除 if(ele.getPosition().lng != e.point.lng || ele.getPosition().lat != e.point.lat) { map.removeOverlay(ele) } } }) } //监听选取坐标事件 map.addEventListener("click", showInfo);