для узлов i Создайте маркеры < /p>
Код: Выделить всё
const options = {
contextmenu: true,
contextmenuInheritItems: false,
contextmenuItems: this.buildMarkerContextMenu()
};
const marker = L.marker(coordinate, options);
(marker).id = node.id;
< /code>
Для разделов я создаю строки < /p>
const options = {
contextmenu: true,
contextmenuInheritItems: false,
contextmenuItems: this.buildSectionContextMenu()
};
const line = L.polyline([coors1, coors2], options);
(line).id = section.id;
Затем в контекстном меню обратные вызовы для узла
static showInformation(e: L.ContextMenuItemClickEvent) {
console.log(e.relatedTarget);
console.log((e.relatedTarget).id);
}
< /code>
Все работает правильно, я получаю узел, на который я нажал. Их обработчики, но тот же код каким -то образом не работает: e.relatedTarget не определен < /p>
static showSectionInformation(e: L.ContextMenuItemClickEvent) {
console.log(e);
console.log(e.relatedTarget); // !!! undefined
//console.log((e.relatedTarget).id);
}
< /code>
Все примеры Leaflet-contextmenu показывают, как создать меню для карты и маркеров. Может, для полилины что -то должно быть сделано по -другому?
Подробнее здесь: https://stackoverflow.com/questions/793 ... ntext-menu