如何在传单中编辑多边形后获得修改和原始的geojson点
How to get modified and original geojson points after editing polygon in leaflet?
我有一个我创建的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());
});
});
相关文章:
- 从客户端获取修改后的对象,并将其与服务器上的原始对象组合
- 在编译阶段后创建新的DOM树,或者继续使用原始修改的DOM
- 修改后的原始数组值
- jquery下拉菜单修改所选文本,但在后续单击时显示先前所选文本的原始值
- 为什么数组上的 js 映射会修改原始数组
- 从作为参数传入的数组中删除对象不会修改原始数组 (Angular)
- 如何在传单中编辑多边形后获得修改和原始的geojson点
- 遍历 Javascript 正则表达式匹配以修改原始字符串
- 如何实现一个插件,它只在需要时修改原始模块
- 通过javascript获取原始/未修改的请求字符串
- 在 javascript 中的原始对象中修改
- 为什么在这种情况下排序会修改原始
- 无法获得修改后的fabic.js对象的旋转角度以报复原始角度
- 使用forEach、映射或筛选器克隆和操作嵌套对象,而不修改原始对象
- 修改函数内部的JavaScript对象,如果出现错误,则返回原始对象
- 原始字符串是否始终保持未修改
- 使用jQuery在原始值的基础上修改每个文本字段的值
- 对象/数组方法:修改原始的还是创建新的?指导方针
- 是否有可能在不修改原始代码的情况下向现有javascript函数添加一些代码?
- 如何替换数组元素而不修改原始数组并创建副本