传单:通过 id 删除图层不起作用

Dmi*_*kov 2 leaflet

我正在尝试从地图中删除元素:工作代码:

var x = L.imageOverlay(fullURL, xbounds).addTo(Window.map);
Window.map.removeLayer(x);
Run Code Online (Sandbox Code Playgroud)

不工作:

var x = L.imageOverlay(fullURL, xbounds).addTo(Window.map);
Window.map.removeLayer(1);
Run Code Online (Sandbox Code Playgroud)

根据文档,它有通过 ID 删除元素的方法

ghy*_*ybs 5

实际上,map.removeLayer()只接受一个层(如在您的第一个代码中)。

它也layerGroup.removeLayer()可以接受一个I​​D。

这个“ID”由 Leaflet 自动定义,您可以使用L.stamp(layer).

var layerGroup = L.layerGroup().addTo(map)
var x = L.marker(coordinates).addTo(layerGroup);
var x_id = L.stamp(x); // Retrieve the x layer ID
layerGroup.removeLayer(x_id);
Run Code Online (Sandbox Code Playgroud)

演示:https : //jsfiddle.net/3v7hd2vx/65/