如下所示:
var marker = new BMap.Marker(...); //方法1 map.removeOverlay(marker); //方法2 marker.remove(); //如果是Marker设置的setLabel还可以设置其样式来隐藏 mapComponent.state.bikeMarkLabel.setStyle({ display:"none" }); 41787
label与marker的方法相同。
建议使用方法1和方法2,方法3只是隐藏而不是清除
最近用百度地图api做项目,需要同时在地图显示marker与Polyline,且Polyline需要根据点击来显示或清除,所以遇到了清除指定覆盖物的问题,各种搜索后未能找到完美的解决方法,通过自己思考,摸索了一方法能解决这个问题,发出来给大家分享。好了,进入正题:
清除覆盖物有两个方法:map.removeOverlay()或者 map.clearOverlays(),clearOverlays()方法一次移除所有的覆盖物,removeOverlay()一次移除一个指定覆盖物,显然,我要一次移除一类Polyline覆盖物,这两个方法都不适用。
上面是我整理给大家的,希望今后会对大家有帮助。
相关文章:
使用vue实现二级路由设置方法
react项目开发
在Vue-Router2.X中实现多种路由实现
在Vue2.X中使用路由和钩子函数
详细解读react受控组件与非受控组件
Vuejs 单文件组件(详细教程)
在vue-lazyload中使用图片延迟加载插件