Как создать несколько полилиний с отдельными функциями щелчка мышью? - PullRequest
1 голос
/ 27 апреля 2019

Я перебираю массив объектов в моем скрипте, который содержит полилинии данных. Затем я добавляю повторяющийся объект к моей карте. Проблема в том, что я не могу назначить разные события onclick итерированному объекту, поскольку определение переменной переопределяется последней итерацией


for (let i = 0; i < this.$store.state.streets.length; i++) {
var currentIteratedStreet = this.$store.state.streets[i]
var latlngs = currentIteratedStreet.latlngs
var polyline = L.corridor(latlngs, {
    color: '#0068ff',
    opacity: 0.5,
    corridor: 5,
    lineCap: 'square',
}).addTo(mymap)

polyline.on('click', () => {
    console.log(polyline.options)
})
}

var polyline всегда переопределяется последней итерацией (что ожидается) и печатает один и тот же вывод для каждой полилинии. Я не смог найти источник, который позволил бы мне добавлять отдельные функции onclick для каждой полилинии. Буду признателен за любую помощь. Большое спасибо!

1 Ответ

0 голосов
/ 27 апреля 2019

Вы можете добавить параметр к функции, вызванной click, для работы с событием и получить объект, который вызвал его, с помощью event.target:

polyline.on('click', (event) => {
    console.log(event.target.options);
})
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...