Клуб API Карт

Получение идентификатора выбранной метки

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

Как получить идентификатор выбранной метки?

Это мне необходимо, чтобы затем найти её в базе.

Ссылку на саму метку я нашёл вот так:

myPlacemark.events.add('click', function(e) {
thisPlacemark = e.get('target');
});
А как из неё получить идентификатор?

Очень не хочется искать метку в базе по координатам или названию.

Или идентификатор метки нужно присваивать самому при добавлении?

А в какое свойство тогда его присваивать?

4 комментария

У вас просто метки или Менеджер Объектов + JSON?

Просто объект:

myMap.geoObjects.add(myPlacemark);

О, получилось, я присвоил идентификатор в свойство 'id' при добавлении метки, а потом читаю этот идентификатор когда нужно из этого свойства.

Спасибо!

Для этого, как и для любых пользовательских данных, лучше использовать поле properties (второй параметр в конструкторе метки)

 

var myPlacemark = new ymaps.Placemark([55.7, 37.5], {

    id: 'id_1',

    balloonContent: 'содержимое балуна',

    hintContent: 'содержимое всплывающей подсказки'

}, {

    preset: 'islands#blueDotIcon'

});

 

myMap.geoObjects.add(myPlacemark);

 

console.log(myPlacemark.properties.get('id')); // выведет "id_1"

 

Получилось. Спасибо!