单张移除GeoJSON层

2022-07-15 00:00:00 geojson leaflet javascript

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

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

然后我创建一个包含形状信息的Geojson元素并将其添加到层中:

layerPostalcodes.addData(geojson);

这将正确显示地图上的区域。现在,点击一个按钮,我想从地图上删除所有的形状。这不管用。我尝试了几种方法:

layerPostalcodes.clearLayers();

或者通过LayerGroup添加GeoJSON层,这样我就可以使用emoveLayer()。但是,这甚至不会显示形状,更不用说删除它们了。

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

我做错了什么?


解决方案

先将layerGroup添加到映射,然后再将layerPostalCodes添加到映射。

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);

相关文章