在传单中编辑多边形后如何获取修改后的geojson点和原始geojson点?

How to get modified and original geojson points after editing polygon in leaflet?

我创建了一个 geojson 功能。编辑后,我知道有一个 draw:edited 事件。如何获取多边形组成的原始点,是否可以获取新的多边形点?如何?是否可以知道更改或添加了哪些顶点?

我尝试了以下方法,均无效:

map.on('draw:edited', function (e) {
  var type = e.layerType;
  var layer = e.layer; // this is giving undefined errors

  var shape = layer.toGeoJSON() // this is undefined
  var shape_for_db = JSON.stringify(shape);
});

draw:created 事件在 L.Map returns 和 L.LayerGroup 上触发为 e.layers,其中包含刚刚编辑的所有功能。这是因为您可以在按下保存按钮之前一次编辑多个功能。您可以迭代 L.LayerGroup 然后获取 GeoJSON:

map.on('draw:edited', function (e) {
    e.layers.eachLayer(function (layer) {
        console.log(layer.toGeoJSON());
    });
});