Клуб API Карт

Програмный вызов события placemark click, как?

happyman9
22 февраля 2011, 19:26

Хочу повесить обработчик на ссылку, который бы открывал балун маркера.

В гугл картах есть GEvent.trigger() для этой цели.

Как сделать в Яндекс?

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

если есть ссылка на маркер

то балун открывается методом openBalloon()

Подробности:

есть: маркеры на карте И список найденных объектов вида ObjectX

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

Если щелкать по маркеру - происходит загрузка содержимого балуна через аякс.

Если кликнуть по ссылке (по вашему примеру), никакого аякса не будет.

Описав подробности, уточняю: "нет ли аналога типа trigger в Яндекс?"

или может подскажете красивое решение? казалось стандартная ситуация..

есть YMaps.Events.notify

им можно триггерить клик

 

YMaps.Events.notify(placemark, placemark.Events.Click)

 

Я так понимаю, это аналог сигналов, да?

Сигнал "излучает" (emit), что событие произошло.

О каких "сигналах" идет речь?

Эээмм.. Да это я с Qt возился недавно, вот и навеяло.. Там сигналы обмениваются со слотами сообщениями, что произошло некое событие (сигнал триггеред), а слот выполняет инструкции, связанные с этим событием =)

Не обращайте внимания.

У метки есть событие Click

http://api.yandex.ru/maps/jsapi/doc/ref/reference/placemark.xml#event-Click

Поставить обработчик можно вот так

http://api.yandex.ru/maps/jsapi/doc/ref/reference/events.xml#observe

Вот так обрабатывается клик на карте:

http://api.yandex.ru/maps/jsapi/doc/dg/tasks/map-events.xml

Обработчик клика на метке ставится по аналогии ;)

Точно! notify! Спасибо обоим :)