୧((〃•̀ꇴ•〃))૭⁺✧
2020-08-20 16:13
采纳率: 86.8%
浏览 196

百度地图上面点击添加标注,怎么在点击一个的时候在

百度地图上面点击添加标注,怎么在点击一个的时候在点击一个然后第一个标注点就移除掉,就地图上始终就有我新添加的一个标注点。

地图本身有根据数据库记录的字段经纬度查询添加在地图上,

图片说明

 // 百度地图API功能
        var map = new BMap.Map("map");
        var point = new BMap.Point(116.706575, 34.715584);
        map.centerAndZoom(point, 12);
        map.enableScrollWheelZoom(true);     //开启鼠标滚轮缩放
        // 编写自定义函数,创建标注
        function addMarker(point) {
            var marker = new BMap.Marker(point);
            if (strs=="flag=true"){
                var p = marker.getPosition(); //获取marker的位置
                $("#lng").val(p.lng);
                $("#lat").val(p.lat);
                //清除覆盖物
                // map.removeOverlay(marker);

                //将标注添加到地图上
                map.addOverlay(marker);

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 邀请回答

2条回答 默认 最新

  • 封印di恶魔 2020-08-21 17:24
    已采纳

    加在addmarker开始的地方,添加覆盖物的时候加个标识区分数据库的还是点击新增的,用循环里的判断把点击新增的全remove掉

    var allOverlay = map.getOverlays();
    for (var i = 0; i < allOverlay.length -1; i++){
            if(allOverlay[i].getLabel().content == "我是id=1"){
                    map.removeOverlay(allOverlay[i]);
            }
    }
    
    点赞 打赏 评论
  • 小白卟白 2020-08-20 16:32

    用变量记录位置,在添加第二个点的时候移除第一个 。百度地图有开发文档的!

    点赞 打赏 评论

相关推荐 更多相似问题