传单 - 从地图上删除标签
Leaflet - Remove label from map
我正在像这样在传单地图上添加标签:
label = new L.Label()
label.setContent("static label")
label.setLatLng(polygon.getBounds().getCenter())
map.showLabel(label);
如何删除?
我试过了:
label.close();
label.onRemove(map);
label.unbindLabel();
没有一个成功。
您正在使用 label
一种非常规的方式。通常您会使用 bindLabel
方法将它添加到多边形,其中它还有 unbindLabel
方法来删除它。但是您正在使用 L.Map
的 showLabel
方法,实际上它没有使用 L.Map
的 addLayer
方法。奇怪的是 L.Map
中没有添加 hideLabel
方法,所以你需要使用 L.Map
的 removeLayer
函数:
map.removeLayer(label);
Plunker 上的工作示例:http://plnkr.co/edit/28yohU?p=preview
考虑使用 属性 attributionControl
var mymap = L.map('mapid', {
//[...]
attributionControl: false
//[...]
});
我正在像这样在传单地图上添加标签:
label = new L.Label()
label.setContent("static label")
label.setLatLng(polygon.getBounds().getCenter())
map.showLabel(label);
如何删除? 我试过了:
label.close();
label.onRemove(map);
label.unbindLabel();
没有一个成功。
您正在使用 label
一种非常规的方式。通常您会使用 bindLabel
方法将它添加到多边形,其中它还有 unbindLabel
方法来删除它。但是您正在使用 L.Map
的 showLabel
方法,实际上它没有使用 L.Map
的 addLayer
方法。奇怪的是 L.Map
中没有添加 hideLabel
方法,所以你需要使用 L.Map
的 removeLayer
函数:
map.removeLayer(label);
Plunker 上的工作示例:http://plnkr.co/edit/28yohU?p=preview
考虑使用 属性 attributionControl
var mymap = L.map('mapid', {
//[...]
attributionControl: false
//[...]
});