實現一個功能,用戶點擊地圖獲取坐標,並顯示標注,但僅有一個標注
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);