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

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

本文关键字:修改 原始 geojson 单中 多边形 编辑      更新时间:2023-09-26

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

我尝试了以下方法,所有这些都不起作用:

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

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

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