Клуб API Карт

Узнать по какой метки был клик

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

Можно ли про идонтефицировать метки чтобы по клику получить id метки

 

<script type="text/javascript">

  ymaps.ready(init);

    var myMap;

    var myPlacemark = {};

    

    function init(){     

        myMap = new ymaps.Map ("map", {

            center: [55.76, 37.64],

            zoom: 7,

            controls: [],

        });

        clusterer = new ymaps.Clusterer({clusterDisableClickZoom: true});

        var n = 37;

        for(var i = 0; i<10;i++){

            var c = n + i;

            var el = myPlacemark[i];

            el = new ymaps.Placemark([55.76, c+'.'+64], { 

                content: 'Москва!', 

                balloonContent: '<div style="width:600px;height:300px;"><h3>asdasd</h3></div>',

                clusterCaption: '<div onclick="alert(2);">'+i+'</div>',

            });

            el.events.add('click', function (e) {

                  По какому элементу был клик??

            });

            clusterer.add(el);

        }

        myMap.geoObjects.add(clusterer);

   }

 

</script>

 

6 комментариев

1. Не надо вешать на каждую метку обработчик, используйте делегирование событий.

 

2. Конструктор метки первым параметром принимает массив чисел.

c+'.'+64 – это строка

ЖАРАМБАЙ БАЙРАМОВИЧ
27 января 2016, 22:36

А можно примерчик?))

Я вас не совсем понял))

clusterer.events.add('click', function (e) {

   console.log(e.get('target')) // объект на который кликнули

});

ЖАРАМБАЙ БАЙРАМОВИЧ
27 января 2016, 22:36

Так вот можно ли меткам присвоить свой id  и потом когда кликнул вытащить этот id??)))))

Второй параметр в конструкторе метки можно использовать для передачи произвольных данных

Получать назад через интерфейс менеджера данных

myPlacemark.properties.get('id')

ЖАРАМБАЙ БАЙРАМОВИЧ
27 января 2016, 22:36

Спасибо))))))