删除百度地图百度表示和比例尺
如图,在调用百度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)
}
以雷霆击碎黑暗

浙公网安备 33010602011771号