#javascript #oop #leaflet #leaflet-geoman
#javascript #ооп #брошюра #брошюра-геоман
Вопрос:
Я использую Leaflet и Leaflet-geoman в сочетании с wfs-t для создания редактируемого объекта карты. У меня есть карта редактирования класса, которая имеет карту листовки в качестве свойства. Я пытаюсь прослушать событие ‘pm: create’ на этой карте для каждого класса. Вот мой код:
class EditMap {
constructor(map){
this.map = map;//Leaflet map
}
this.map.on('pm:create', e => {
console.log('Feature created');
});
}
Я получаю ошибку Uncaught SyntaxError: неожиданный токен ‘.’ в этой строке:
this.map.on('pm:create', e => {
Я ожидаю, что мне не хватает чего-то простого. Мои основные вопросы сводятся к следующему: как вы прослушиваете событие в свойстве объекта?
Комментарии:
1. Эта строка находится за пределами вашего конструктора.
Ответ №1:
В неправильном месте
Вы используете класс, чтобы вы могли делать:
class EditMap {
constructor(map) {
this.map = map;
this.map.on('pm:create', this.pmCreate)
}
pmCreate(e) {
console.log('Feature created');
}
}
или просто это; но будет быстро заполняться по мере добавления других участников списка:
class EditMap {
constructor(map) {
this.map = map; //Leaflet map
this.map.on('pm:create', e => {
console.log('Feature created');
});
}
}