返回

删除百度地图百度表示和比例尺

如图,在调用百度API的时候,经常遇到有百度标示不知道怎么去除的问题,这里,我介绍一个简单粗暴的方式,好处坏处也就是多了个0.0几秒的生成标签的时间,所以,不影响性能:

直接在API生成代码initMap后面加段下面这个代码就 行了:

   //删除百度图标
    function delMapBaiDuLabel(){
      //anchorBL
      setTimeout(function(){
        function removeElement(_element){
          var _parentElement = _element.parentNode;
          if(_parentElement){
            _parentElement.removeChild(_element);
          }
        }
        var anchorBL = document.getElementsByClassName('anchorBL');
        console.info(anchorBL.length)
        for(var i=0;i<anchorBL.length;i++){
           console.info(anchorBL[i]);
           removeElement(anchorBL[i]);
        }
      },1000)
    }
   //删除比例尺
    function delScale(){
      setTimeout(function(){
        function removeElement(_element){
          var _parentElement = _element.parentNode;
          if(_parentElement){
            _parentElement.removeChild(_element);
          }
        }
        var anchorBL = document.getElementsByClassName('BMap_scaleCtrl');
        console.info(anchorBL.length)
        for(var i=0;i<anchorBL.length;i++){
           console.info(anchorBL[i]);
           removeElement(anchorBL[i]);
        }
      },1000);
    }
    //方法调用
    // delMapBaiDuLabel();
    // delScale();

当然,上面这个代码加上去还是会有logo一闪的情况,所以,可以先设置anchorBL为display:none,这样一开始就不会显示出来,等加载完成了在控制他显示出来。

既然节点都可以获取到了,那还有什么做不了得呢,同样思想,想换内容不是很轻松吗??

下面是衍生:

   //change the logo 
    function delMapBaiDuLabel(){
      //anchorBL
      setTimeout(function(){
        function removeElement(_element){
          var _parentElement = _element.parentNode;
          if(_parentElement){
            _parentElement.removeChild(_element);
          }
        }
        var anchorBL = document.getElementsByClassName('anchorBL');
        var chs = anchorBL[0].childNodes;
        var imgs = chs[0].childNodes;
        console.info(anchorBL[0]);
        imgs[0].src = "http://og5r1iuwq.bkt.clouddn.com/lo.png";
        console.info(imgs[0])
        anchorBL[0].style.display = 'block';
        /**
         * styleArry [{key:'display',val:'none'},{key:'width',val:'156px'},{key:'height',val:'30px'}]
         */
        function css(domObj,styleArry){
          for(var i=0;i<styleArry.length;i++){
             domObj.style[styleArry[i].key] = styleArry[i].val;
          }
        }
        css(imgs[0],[{key:'display',val:'block'},{key:'width',val:'156px'},{key:'height',val:'30px'}]);
        // anchorBL
        // for(var i=0;i<anchorBL.length;i++){
        //    console.info(anchorBL[i]);
        //    removeElement(anchorBL[i]);
        // }
      },1000)
    }

  

posted @ 2016-11-05 15:20  feige_hunter  阅读(663)  评论(0编辑  收藏  举报