我通过在传单中创建 GeoJSON 图层来为 map 上的区域着色。首先我创建一个空层:

var layerPostalcodes=L.geoJSON().addTo(map);

然后我创建一个包含形状信息的 geojson 元素并将其添加到图层:
layerPostalcodes.addData(geojson);

这将正确显示 map 上的区域。现在,单击一个按钮,我想从 map 中删除所有形状。这是行不通的。我尝试了几种方法:
layerPostalcodes.clearLayers();

或通过 LayerGroup,通过向其中添加 GeoJSON 层,以便我可以使用 removeLayer()。但是,这甚至不显示形状,更不用说删除它们了。
var layerGroup = new L.LayerGroup();
layerGroup.addLayer(layerPostalcodes);
layerGroup.addTo(map);
layerGroup.removeLayer(layerPostalcodes);

我究竟做错了什么?

最佳答案

在将 layerGroup 添加到 map 之前,先将 layerPostalCodes 添加到 map 。

var layerGroup = new L.LayerGroup();
layerGroup.addTo(map);
layerGroup.addLayer(layerPostalcodes);
layerGroup.removeLayer(layerPostalcodes);

或者
var layerGroup = new L.LayerGroup();
layerGroup.addTo(map);
layerGroup.addLayer(layerPostalcodes);
map.removeLayer(layerGroup);

关于javascript - 传单删除 GeoJSON 层,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/53154473/

10-11 08:43