传单 - 从地图上删除标签

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.MapshowLabel 方法,实际上它没有使用 L.MapaddLayer 方法。奇怪的是 L.Map 中没有添加 hideLabel 方法,所以你需要使用 L.MapremoveLayer 函数:

map.removeLayer(label);

Plunker 上的工作示例:http://plnkr.co/edit/28yohU?p=preview

考虑使用 属性 attributionControl

var mymap = L.map('mapid', {
    //[...]
    attributionControl: false
    //[...]
});

http://leafletjs.com/reference.html#control-attribution