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

  • 时间:2018-01-28 15:23 编辑:佚名 来源:源码家 阅读:1012
  • 扫一扫,手机访问
摘要:下面就为大家分享一篇百度地图去掉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)
  • 天涯科技
  • 简单明了
  • 2018-01-30 12:25:58
资讯详情页最新发布上方横幅
最新发布的资讯信息
【源码编程|Java编程】node.js基于fs模块对系统文件及目录进行读写操作的方法详解(2018-02-25 21:26)
【源码编程|Java编程】vue2 router 动态传参,多个参数的实例(2018-02-25 21:26)
【源码编程|Java编程】vue-router2.0 组件之间传参及获取动态参数的方法(2018-02-25 21:26)
【源码编程|Java编程】js+html获取系统当前时间(2018-02-25 21:26)
【源码编程|Java编程】three.js加载obj模型的实例代码(2018-02-25 21:26)
【源码编程|Java编程】vue router-link传参以及参数的使用实例(2018-02-25 21:26)
【源码编程|Java编程】vue2导航根据路由传值,而改变导航内容的实例(2018-02-25 21:26)
【源码编程|Java编程】JS实现移动端整屏滑动的实例代码(2018-02-25 21:26)
【源码编程|Java编程】Three.js加载外部模型的教程详解(2018-02-25 21:26)
【源码编程|Java编程】解决vue组件中使用v-for出现告警问题及v for指令介绍(2018-02-25 21:26)
底部广告
网站首页 | 关于我们 | 广告合作 | 联系我们 | 隐私条款 | 免责声明
CopyRight 2014-2024 【源码家】 | 豫ICP备17010181号
展开