我正在尝试从地图中删除元素:工作代码:
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 删除元素的方法
实际上,map.removeLayer()只接受一个层(如在您的第一个代码中)。
它也layerGroup.removeLayer()可以接受一个ID。
这个“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/