0

如文档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', ({ workingLayer }) => {  
  workingLayer.on('pm:vertexadded', 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)
  });
});

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

4

1 回答 1

2

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

map.on('pm:create', ({ layer}) => {  
  layer.on('pm:edit', e => {
    console.log(e);
  });
});
于 2021-02-15T07:12:14.173 回答