Клуб API Карт

Как получить координаты с меток карты при клике на эти метки?

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

Здравствуйте! Можно реализовать? И другой вопрос как или как лучше?

 

Тут дилемма: при клике на метку открывается балун с описанием, пока не знаю, будет ли это мешать или нет, но скорее всего нет. Может какой-то свой инструмент нужно придумать, как линейка например. При его выборе при кликах на метки просто собираются координаты этих меток и не появляются балуны. Координаты меток нужны для вычисления расстояния между выбранными метками (меток может быть выбрано две и более).

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

Точки я сам ставлю. Расстояние между точками произвольное, не привязано к какому-то объекту, т.е. растояние птичьего полета.

 

Нашел что с одной точки могу получить данные так:

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

console.log(e.get('target').geometry.getCoordinates());

});

 

У меня вот такием образом добавлено порядка 100 меток:

 

myMap.geoObjects

.add(myPlacemark)

.add(new ymaps.Placemark([53.000000, 93.000000], {

            balloonContent:  [

    '
',

            'Озеро',

            '
',

            'самое крупное озеро',

            '  подробнее:'

        ].join('')

        }, {

            preset: 'islands#icon',

            iconColor: 'red'

        }));

Дошел до того, что, однако у каждой метки должен быть свой идентификатор, а потом при клике на метку, доставать из нее координаты при этом обращаясь уже к идентификатору метки.

Записать к метки ID понял что так:

new ymaps.Placemark([53.000000, 93.000000], {id:'0001'});

 

Верно двигаюсь?

Чего-то недопонимаю.. выводятся координаты только первой метки, на остальных при клике открываются только балуны.. Чего не хватает?

С идентификатором тоже не получается.. именно обратиться за координатами к такой метке не получается, да и не уверен что сработает.

Получается нет решения? Нельзя получить координаты с меток, кликнув на несколько из них в произвольном порядке?

Балун в общем случае может быть открыт на карте только один.

 

Чтобы эффективно работать с событиями меток лучше использовать делегирование событий – вешать один обработчик на коллекцию

Так, тогда еще один момент. Я планировал сделать метки в несколько коллекций (достопримечательности, рыбалка, озера). И получается если одновременно будут показаны все коллекции, то пользователь не сможет в произвольном порядке нажать не несколько меток в разных коллекциях для получения координат? Или я задаю такие вопросы потому что не знаю как работают коллекции?

 Можно слушать события на коллекции myMap.geoObjects

Спасибо, добрый человек! Получилось! Теперь думаю будет логично между этими точками провести просто линии..Типа маршрута, но не сам маршрут, просто линию-нитку. Это как сделать? Как-то через router.getPaths() ?