Клуб API Карт

Задать ID геометке

Пост в архиве.

Здравствуйте! 

Опишу задачу.

Я хочу сделать так чтобы по клику на геометку, у меня уходил запрос моему php скрипту. И в ответ возварщался json с данными(которые мы подтягиваем из  БД)  по тому объекту, на который я кликнул.

Что я делаю.

Вешаю на каждую метку событие "клик". По этому клику выполняется аякс запрос который на вход принимает id объекта а на выход выдает json с данными из бд.

for(var i = 0, length = points.length; i < length; i++) {
geoObjects[i].events.add('click', function () {
    // аякс запрос
});

}

И все бы было гладко. За исключением одного! На вход аякс запросу нам надо передавать id объекта (чтобы он по нужному id потом вернул нам нужный json). И вся проблема свелась к тому, что я не понимаю, как подтянуть id-шники из БД и задать их в качестве атрибута,  каждой из геометок, чтобы потом по этому id получить данные из БД.

В итоге вопрос такой. Как задать html атрибут геометке? 

1 комментарий
> Вешаю на каждую метку событие "клик".
Вешать обработчики событий в цикле – плохо. Используйте делегирование событий
id можно передать во второй параметр в конструктор геообъекта


myMap.geoObjects.add(new ymaps.Placemark(_координаты_, {id: 'my-id'}));


myMap.geoObjects.events.add('click', function (e) {
    var object = e.get('target');
    console.log(object.properties.get('id'));
});
Обновлено 29 мая 2017, 17:49