Клуб API Карт

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

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

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

 

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

8 комментариев
Андрей Тебеньков
27 января 2016, 22:45

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

 

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

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'

        }));

Андрей Тебеньков
27 января 2016, 22:45

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

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

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

 

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

Андрей Тебеньков
27 января 2016, 22:45

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

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

Андрей Тебеньков
27 января 2016, 22:45

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

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

 

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

Андрей Тебеньков
27 января 2016, 22:45

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

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

Андрей Тебеньков
27 января 2016, 22:45

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