geoman - 在绘制模式下创建特征后,如何在编辑模式下监听特征变化

问题描述

我正在听文档 https://github.com/geoman-io/leaflet-geoman#draw-mode

中记录的在“绘制模式”期间添加顶点
map.on('pm:drawstart',({ workingLayer }) => {  
  workingLayer.on('pm:vertexadded',e => {  
    console.log(e);  
  });
});

在某个时候我完成了绘图并且“绘图模式”结束了。

然后我想编辑几何图形并启用“编辑模式”。

如何收听我刚刚绘制几何图形的“workingLayer”的编辑?

我尝试了以下没有成功...

map.on('pm:drawstart',e => {  
    console.log(e);
  });
  workingLayer.on('pm:edit',e => {
    console.log(e);
  });
});

更新:然后我打开我的大脑并想出了以下内容

map.on('pm:globaleditmodetoggled',e => {
  e.map.pm.getGeomanDrawLayers(true).on('pm:edit',e => {
    console.log(e)
  });
});

这是这样做的方法还是存在更有效的方法

解决方法

使用监听器 pm:create 并将 pm:edit 监听器添加到新创建的层。 然后在新图层上进行编辑时将触发 pm:edit 事件。

map.on('pm:create',({ layer}) => {  
  layer.on('pm:edit',e => {
    console.log(e);
  });
});