漏刻有时百度地图API实战开发(10)清除覆盖物和清除指定覆盖物
2023-12-15 12:37:55
百度地图开发中的清除覆盖物是指删除地图上的某些元素,例如标记、折线、多边形、圆形等。这些元素通常被称为覆盖物。在开发过程中,有时需要清除这些覆盖物,以实现地图的更新或调整。
清除覆盖物的方法通常取决于覆盖物的类型和添加到地图的方式。例如,使用JavaScript API添加的覆盖物可以通过调用相应的方法来清除。对于标记(Marker),可以使用map.removeOverlay(marker)
方法来清除;对于折线(Polyline),可以使用map.removeOverlay(polyline)
方法来清除;对于多边形(Polygon)和圆形(Circle),也可以使用类似的方法来清除。
清除覆盖物有两个方法:map.removeOverlay()或者 map.clearOverlays()。而 clearOverlays()方法一次移除全部的覆盖物,removeOverlay()一次移除一个指定覆盖物。
一、map.clearOverlays()
当使用Map.clearOverlays()方法一次性移除全部覆盖物时会触发此事件。
二、map.clearOverlays()
当使用Map.removeOverlay()方法移除单个覆盖物时会触发此事件
1.设置marker的nam属性
var marker = new BMap.Marker(points, {
icon: new BMap.Icon(icon, new BMap.Size(30, 36)),
offset: new BMap.Size(0, -18)
});
marker.name = name;//覆盖物设置名称;
map.addOverlay(marker);
获取所有覆盖物,然后删除指定名称的覆盖物。
var allOverlay = map.getOverlays();
allOverlay.map(item => {
//console.log(item);
if (item.name === params.name) {
map.removeOverlay(item);
}
})
2.设置文本标签属性
var label = new BMap.Label("我是id="+i,{offset:new BMap.Size(20,-10)});
addMarker(point,label);
function deletePoint(){
var allOverlay = map.getOverlays();
for (var i = 0; i < allOverlay.length -1; i++){
if(allOverlay[i].getLabel().content == "我是id=1"){
map.removeOverlay(allOverlay[i]);
return false;
}
}
@漏刻有时
文章来源:https://blog.csdn.net/weixin_41290949/article/details/135010252
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!