如何从传单中的 L.control 中删除叠加层

cod*_*bit 5 javascript postgresql leaflet

在客户端上,我从 postgres 数据库中获取一堆多边形,然后将它们作为叠加层添加到图层控件中。目前,这是通过单击菜单来发生的,每次它都会在控件中添加另一个“多边形”复选框。我显然需要首先清除所有旧的叠加层,然后使用一组新的“多边形”叠加层进行刷新。在添加新的叠加层之前,如何以编程方式将其删除?

var controlLayers = L.control.layers(baseMaps).addTo(map);


$.getJSON('/db/getPolys', function (geojsonFeatures) {
              console.log('returned polys...',geojsonFeatures.features);
              if(geojsonFeatures.features == null){
                      alert('No polygons where found');
              }else{
                      geojsonLayer = L.geoJson(geojsonFeatures,{
                          onEachFeature: drawStep1Polys
                      });

                      // need to remove before adding anything
                      // if (geojsonLayer exists){
                      //   controlLayers.removeLayer(geojsonLayer);
                      // }
                  controlLayers.addOverlay(geojsonLayer, 'Polygons');
              }
});
Run Code Online (Sandbox Code Playgroud)

ghy*_*ybs 5

controlLayers.removeLayer(geojsonLayer)

从控件中删除给定的图层。

(请注意,您必须保留之前图层的参考)