首页 > 其他 > 详细

VUE 百度地图的获取坐标和标注 只留有一个标注

时间:2020-04-09 10:48:03      阅读:413      评论:0      收藏:0      [点我收藏+]

实现一个功能,用户点击地图获取坐标,并显示标注,但仅有一个标注

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);

 

VUE 百度地图的获取坐标和标注 只留有一个标注

原文:https://www.cnblogs.com/wangrong-0823/p/12664489.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!