zoukankan      html  css  js  c++  java
  • 删除百度地图百度表示和比例尺

    如图,在调用百度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)
        }
    

      

    钟声敲响了日落
  • 相关阅读:
    【bzoj1196】[HNOI2006]公路修建问题
    【bzoj1082】栅栏[SCOI2005]
    【bzoj1012】[JSOI2008]最大数maxnumber
    【bzoj2330】 [SCOI2011]糖果
    【bzoj1008】[HNOI2008]越狱
    【bzoj1002】 [FJOI2007]轮状病毒DP
    【bzoj1001】[BeiJing2006]狼抓兔子
    C++-POJ2234-Matches Game[Nim][SG函数]
    C++-POJ1067-取石子游戏
    lodash常用
  • 原文地址:https://www.cnblogs.com/SATinnovation/p/6033200.html
Copyright © 2011-2022 走看看