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

  • 时间:2018-01-28 15:23 编辑:佚名 来源:源码家 阅读:1318
  • 扫一扫,手机访问
摘要:下面就为大家分享一篇百度地图去掉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
资讯详情页最新发布上方横幅
最新发布的资讯信息
【源码编程|mssql2005】win2003 Server配置SQL Server 2005远程连接的方法(2018-06-15 21:15)
【源码编程|mssql2005】SQLServer2005 没有服务器名称的两种解决方法(2018-06-15 21:15)
【源码编程|mssql2005】在WIN7下安装和配置SQL Server 2005 Express Edition(精简版)(2018-06-15 21:15)
【源码编程|mssql2005】Access 导入到SQL Server 2005的方法小结(2018-06-15 21:15)
【源码编程|mssql2005】SQL2005Express中导入ACCESS数据库的两种方法(2018-06-15 21:15)
【源码编程|mssql2005】SQL Server 使用 SET FMTONLY ON 获得表的元数据(2018-06-15 21:15)
【源码编程|mssql2005】把CSV文件导入到SQL Server表中的方法(2018-06-15 21:15)
【源码编程|mssql2005】SQL Server中TRUNCATE事务回滚操作方法(2018-06-15 21:15)
【源码编程|mssql2005】SQL Server 2005恢复数据库详细图文教程(2018-06-15 21:15)
【源码编程|mssql2005】SQL Server 移动系统数据库(2018-06-15 21:14)
底部广告
网站首页 | 关于我们 | 广告合作 | 联系我们 | 隐私条款 | 免责声明
CopyRight 2014-2024 【源码家】 | 豫ICP备17010181号
展开