Клуб API Карт

Показать метку при наведении курсора и связать ее с балуном

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

Здравствуйте, подскажите, есть карта рядом с ней табличка с адресами навожу на какой-то адрес появляется метка по указанным координатам, окей сделано! Осталось, вывести балун если нажать на этот адрес, на который навели курсор и чтобы метка исчезла, и тоже самое если нажимаем на метку.

 

// При $(document).on('mousemove', 'table tr', ...); создаем или перемещаем метку

// Если метка есть просто задаем новые координаты

if (null !== placemark) {

       placemark.geometry.setCoordinates([1,1]);

} else {

       placemark = new ymaps.Placemark([0,0], {

                iconContent: '1'

      });

     map.geoObjects.add(placemark);

}


//Если кликаем на метку или $(document).on('click', 'table tr', ...); выводим балун

balloon = map.balloon.open([0,0], {...});

 

Проблемка в том, что я незнаю как связать балун и метку, из за того что мне нельзя выводить все метки, а необходимо все время двигать одну и ту же метку по карте.

4 комментария
Всеволод Шмыров
28 января 2016, 00:23
Добрый вечер.
У геообъектов в API есть собственный балун, который будет открываться после клика по геообъекту, если есть данные для отображения.
http://api.yandex.ru/maps/doc/jsapi/beta/ref/reference/GeoObject.xml#balloon

Еще есть пример в песочнице, который очень напоминает вашу задачу
http://api.yandex.ru/maps/jsbox/object_list

Благодарю за ответ, пример действительно очень похож, но видите ли, у меня проблемка в том что мне все метки не надо выводить на карте, а выводить только одну при наведении на адрес $(document).on('mousemove', 'table tr', ...); в этом и сложность. После mousemove у меня есть все данные координаты, название... 

Всеволод Шмыров
28 января 2016, 00:23
То есть метка появляется на карте после mouseenter на адрес, а по клику нужно открывать балун? Можно метке вместе с координатами ставить свойство balloonContent и по клику вызывать
placemark.balloon.open()
или сохранять координаты последнего положения метки и вызывать
map.balloon.open(coords, 'текст')

Благодарю, то что надо)