【源码家】

基于百度地图去掉marker覆盖物或者去掉maker的label文字方法和 api清除指定覆盖物(Overlay)的方法

  • 时间:2018-01-28 15:23 编辑:佚名 来源:源码家 阅读:1777
  • 扫一扫,手机访问
摘要:下面就为大家分享一篇百度地图去掉marker覆盖物或者去掉maker的label文字方法和api清除指定覆盖物(Overlay)的方法,具有很好的参考价值,希望对大家有所帮助。一起过来看看吧!!

下面就为大家分享一篇百度地图去掉marker覆盖物或者去掉makerlabel文字方法api清除指定覆盖物(Overlay)的方法,具有很好的参考价值,希望对大家有所帮助。一起过来看看吧!!

 

如下所示:

1. var marker = new BMap.Marker(...);
2. //方法1
3. map.removeOverlay(marker);
4. //方法2
5. marker.remove();
6. //如果是Marker设置的setLabel还可以设置其样式来隐藏
7. mapComponent.state.bikeMarkLabel.setStyle({
8.   display:"none"
9. }); 41787


labelmarker的方法相同。

 

建议使用方法1和方法2,方法3只是隐藏而不是清除

 

以上这篇百度地图去掉marker覆盖物或者去掉makerlabel文字方法就是分享给大家的全部内容了。

 

 最近用百度地图api做项目,需要同时在地图显示markerPolyline,且Polyline需要根据点击来显示或清除,所以遇到了清除指定覆盖物的问题,各种搜索后未能找到完美的解决方法,通过自己思考,摸索了一方法能解决这个问题,发出来给大家分享。好了,进入正题:

 

清除覆盖物有两个方法:map.removeOverlay()或者 map.clearOverlays()clearOverlays()方法一次移除所有的覆盖物,removeOverlay()一次移除一个指定覆盖物,显然,我要一次移除一类Polyline覆盖物,这两个方法都不适用。

 

百度demohttp://developer.baidu.com/map/jsdemo.htm#c1_17)有removeOverlay()的例子,如下:

1. function deletePoint(){
2.     var allOverlay = map.getOverlays();
3.     for (var i = 0; i < allOverlay.length -1; i++){
4.       if(allOverlay[i].getLabel().content == "我是id=1"){
5.         map.removeOverlay(allOverlay[i]);
6.         return false;
7.       }
8.     }
7.   }

是通过遍历所有覆盖物来筛选所要移除的覆盖;

 

对于要移除一类覆盖物;可以在添加覆盖物的时候做限制设置;

 

第一步:在添加覆盖的时候对不需要进行移除操作的覆盖设置disableMassClear();官网文档解释如下:

1. disableMassClear()

none 禁止覆盖物在 map.clearOverlays 方法中被清除。 (1.1新增)

 

我这里不需要对marker进行移除操作,所以设置如下:


1. marker.disableMassClear();


 

第二步:清除所要清除的覆盖物,这里需要清除所有的Polyline而不清除marker,现在可以直接使用


1. map.clearOverlays();


这样就能很方便的清除所有Polyline而保留marker

 

第三步:当后来需要对marker进行移除操作时,可以使用enableMassClear()方法来取消禁止清除;

1. enableMassClear()


one 允许覆盖物在 map.clearOverlays 方法中被清除。 (1.1新增)

 

但是需要对每个marker进行恢复操作,所以需要进行遍历:

1. var allOverlay = map.getOverlays();
2.       for (var i = 0; i < allOverlay.length; i++) {
3.         allOverlay[i].enableMassClear();
4.       }


这样就恢复了所有覆盖物的可清除操作。

 

简单三步设置便可高效操作指定类覆盖物。

 

以上这篇基于百度地图api清除指定覆盖物(Overlay)的方法就是分享给大家的全部内容了,希望能给大家一个参考。


  • 全部评论(1)
资讯详情页最新发布上方横幅
最新发布的资讯信息
【网站运营|】当下直播平台流量变现有哪些方式?(2019-09-25 15:50)
【网站运营|】畅优科技API聚合四方支付系统和免签支付系统搭建(2019-09-11 13:42)
【源码编程|PHP编程】PHP+Mysql会员管理系统软件/门店会员卡管理系统(2019-09-03 10:00)
【源码编程|PHP编程】云集系统开发定制(2019-08-29 17:12)
【源码编程|Java编程】新圣系统平台如何搭建(2019-08-11 22:48)
【网站运营|】未来集市模式设计开发(2019-08-08 11:20)
【网站运营|】网站开发小淘鸡源码制作(2019-08-08 11:16)
【源码编程|Java编程】高仿微V信app,源码低价出售,系统采用原生态技术java开发,包括Android端,IOS端,pc端,服务器管理端。系统结构清晰,代码书写规范。(2019-07-30 11:25)
【源码编程|PHP编程】学校教育运营管理系统(2019-06-28 18:28)
【网站运营|建站经验】如何选择第四方支付平台,应该注意哪些问题(2019-06-26 16:29)
联系我们
Q Q:40020598
邮箱:40020598@qq.com
时间:09:00 - 19:00
源码交流群:19588881源码家交流③群
展开