Как получить id/данные маркера при вызове onClick API Яндекс Карт

ymaps3

Есть справочник данных, каждая запись привязана к координаторам на карте.

Создал маркеры.

const response = await fetch('data.json');  
const markers = await response.json();  
markers.forEach(mr => {
   map.addChild(
    new YMapDefaultMarker({
        coordinates: [mr.coordinates[0], mr.coordinates[1]],
        title: mr.title,
        subtitle: mr.subtitle,
        onClick: handleMarkerClick,
            
    })
);

Необходимо по клику на маркер выводить хранимую в markers информацию.

Прошу подсказать как в функции

const handleMarkerClick = (obj) => { }

получить доступ к данным исходного массива?

Можно-ли хранить все нужные данные внутри маркера?


Ответы (1 шт):

Автор решения: ksa

Прошу подсказать как в функции const handleMarkerClick = (obj) => { } получить доступ к данным исходного массива?

Можно сделать простую функцию-обертку. Т.о. исходной функции будут доступны любые данные через замыкание.

const handleMarkerClick = data => (obj) => { }

Вот так можно использовать функцию-обертку

// начало кода
onClick: handleMarkerClick(mr)
// продолжение
→ Ссылка