美文网首页
BMap 百度地图 定位控件GeolocationControl

BMap 百度地图 定位控件GeolocationControl

作者: cain07 | 来源:发表于2021-06-27 21:39 被阅读0次

BMap 百度地图 定位控件GeolocationControl 点击 会自动定位 标记位置 但是 这个 不是我们需要的

需要禁止 它 ?

1.首先 不用 它提供的 点击回调方法 通过dom拿到 div 造点击事件

 let that = this;
      let geolocationControl = new BMap.GeolocationControl({
        anchor: BMAP_ANCHOR_BOTTOM_RIGHT,
        showAddressBar: false, //是否显示定位信息面板
        enableAutoLocation : false,  //首次是否进行自动定位
        offset: new BMap.Size(6,6)//偏移距离
      }) //创建一个地图定位控件
     map.addControl(geolocationControl) //将控件添加到地图
      setTimeout(function(){
        let dom = document.getElementsByClassName("BMap_geolocationIcon")[0]
        dom.addEventListener("click", function () {      
          console.log("--dom-->");
        })
      }, 500);

这个点击还是 会执行百度geo 定位 还是会弹出 需要定位权限 提示框

2.自己定义个按钮 map加载 上 自己写个 点击事件 可行

 <div id="geolocationIcon" class="geolocationIcon" @click="onLocationClick"></div>

点击事情

    onLocationClick() {
      console.log("--onLocationClick-start->");
    }

map加载 按钮

addLocationBtn(){
      let map = this.map
      function BtnControl(){
        this.defaultAnchor = BMAP_ANCHOR_BOTTOM_RIGHT;
        this.defaultOffset = new BMap.Size(16,16);//0不控制大小
      }
    // 集成Control类
      BtnControl.prototype = new BMap.Control();
      // 实现initialize方法
      BtnControl.prototype.initialize = function(map){
          // 创建一个DOM元素
          let div = document.getElementById("geolocationIcon");
          // 添加DOM元素到地图中
          map.getContainer().appendChild(div);
          return div;
      }
      // 创建控件
      let btnCtrl = new BtnControl();
      map.addControl(btnCtrl);
    },

相关文章

网友评论

      本文标题:BMap 百度地图 定位控件GeolocationControl

      本文链接:https://www.haomeiwen.com/subject/msgxultx.html