问题描述
我正在听文档 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);
});
});