Yandex Maps Api получение placemark из balloon

Салют! Возникла проблема при изучении Yandex.Maps api, прошу помощи.

Существует цикл, который создает точки на карте (итератор - index), возник вопрос, при открытии балуна - как получить placemark - прородитель этого балуна? Т.е. балун же должен быть как-то привязан к точке в конце-то концов.

Ищу нормальный метод, т.к. единственный который в голову пришел - поиск точки по координатам балуна.

var placemark = new ymaps.Placemark([mass[index].latitude, mass[index].longtitude], {
            iconContent: mass[index].name,
            hintContent: "test",
            Index: index
        }, {
            balloonPanelMaxMapArea: 0,
            draggable: "true",
            preset: "islands#blueStretchyIcon",
            openEmptyBalloon: true
        });


        placemark.events.add('balloonopen', function (e) {
		     //необходимо получить объект placemark, по нажатию на который собственно и был вызван balloon.open
            console.log(this);
            //placemark.properties.set('balloonContent', "Идет загрузка данных...");
        });
		
		
		placemarks.push(placemark);
  • Вопрос задан
  • 3937 просмотров
Пригласить эксперта
Ответы на вопрос 2
Простое js-замыкание.
placemark.events.add('balloonopen', function (e) {
console.log(placemark); // здесь, собственно, и будет тот самый нажатый placemark
});
Ответ написан
@daypey
placemark.events.add('click', function (e) {
    // Получаем координаты пина
    let coordinates = placemark.geometry.getCoordinates();

    // Открываем баллун с содержимым
    map.balloon.open(coordinates, {
        contentHeader: placemark.properties.get('balloonContentHeader'),
        contentBody: placemark.properties.get('balloonContentBody'),
        contentFooter: placemark.properties.get('balloonContentFooter')
    });
});
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы
29 нояб. 2024, в 10:38
5000 руб./за проект
29 нояб. 2024, в 10:27
100000 руб./за проект
29 нояб. 2024, в 09:43
100000 руб./за проект