У меня есть приложение на основе карты, в котором мне нужно щелкнуть карту, чтобы получить имена любых объектов в этой точке, затем увидеть этот список имен объектов во всплывающем окне и щелкнуть каждое имя. Затем я воспользуюсь именем, полученным по этому клику, чтобы выбрать эту функцию на карте.
Я застреваю, пытаясь добавить событие щелчка к каждому отдельному имени в массиве, который использовал для заполнения div во всплывающем окне. , Я пытаюсь заполнить массив списком имен, а затем pu sh этот массив в div, который отображается во всплывающем окне. Кажется, что когда я добавляю div к тексту, я получаю одну строку, которую не могу перебрать, и я не могу добавить событие к имени, прежде чем помещу sh в массив.
В приведенном ниже случае addEventListener приводит к ошибке (... не является функцией) .. Я предполагаю, что b / c Я еще ничего не добавил в DOM:
var thisname = feature.get('mapfeature_name');
thisname.addEventListener('click', function(){
...
});
// error : addEventListener is not a function
Я попробовал какой-то вариант, подобный приведенному ниже, который отображает ссылки, но я получаю только весь список, а не отдельное имя:
namelist.push("<a href = '#'>" + thisname + "</a>");
$('#namehtml').html(eventlist.join(', '));
$('#namehtml').click (function () {
console.log($(this).text());
// prints entire array of names, not just the one I clicked on
});
Я не могу получить доступ к div как к любому виду списка Пока.
Кажется, это должно быть довольно просто.