geoman - как прослушать изменение объекта в режиме редактирования после того, как объект был создан в режиме рисования

Я слушаю добавление вершины в режиме рисования, как описано в документах https://github.com/geoman-io/leaflet-geoman#draw-mode

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

в какой-то момент я закончил рисовать, и режим рисования закончился.

Затем я хочу отредактировать геометрию и включить режим редактирования.

как я могу слушать правки рабочего слоя, в котором я просто рисую геометрию?

Я пробовал следующее без успеха...

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

это способ сделать это или существует более эффективный способ?


person udo    schedule 10.02.2021    source источник


Ответы (1)


Используйте прослушиватель pm:create и добавьте к новому созданному слою прослушиватель pm:edit. Затем событие pm:edit будет запущено, когда произойдет редактирование нового слоя.

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