Клуб API Карт

открытие балуна при переходе на карту.

Пост в архиве.
hhrhhr
29 декабря 2009, 09:25

на основе немного переработанного примера из руководства Создание пользовательского оверлея overlaycustom.html создал карту с навигатором. щелкаем по пункту в навигаторе - открывается балун с краткой инфой о точке, щелкаем по точке на карте - в навигаторе подсвечивается выбранный пункт.

в краткой инфе имеется ссылка на отдельную страницу с полной инфой, а также ссылкой "показать на карте". по задумке после перехода по этой ссылке должна открыться первоначальная карта и имитироваться щелчок по выбранной точке. в навигаторе для каждого пункта задал параметр <a name=... , но фокус не прошел :(

натолкните на мысль, плиз, как реализовать подобное? тестовый пример - http://hhrhhr.narod2.ru/karta, отдельные странички есть только у первых двух точек.

4 комментария
Еще подобные примеры по работе с меню:
http://api.yandex.ru/maps/jsapi/doc/dg/tasks/map-basics-examples.xml#how-to-use-smooth-panning
http://api.yandex.ru/maps/jsapi/doc/dg/tasks/map-controls-examples.xml#how-to-create-offices-navigator

В ссылку "показать на карте" добавьте дополнительный параметр, который будет соответствовать текущей метке.
При открытии ссылки обрабатывайте переданные параметры и открывайте нужный балун.

Пример обработки параметров ссылки:
http://api.yandex.ru/maps/jsapi/doc/dg/tasks/map-events-examples.xml#how-to-create-link-to-map-fragments

Созданные оверлеи лучше добавить в группу, тогда проще с ними будет работать. Подробнее о группах читайте здесь:
http://api.yandex.ru/maps/jsapi/doc/dg/tasks/how-to-group-objects.xml

ну что сказать, кратко и исчерпывающе, спасибо.

Если не получится сделать, то пишите. Сделаю небольшой примерчик.

все ок, просто у меня случился затык с вытаскиванием параметров из урла средствами JS.

в итоге вместо сделал для каждого элемента списка, в window.onload = function () добавил в начале вытаскивание параметра:

var param = location.search.substring(1).split("&")[1];

а в конец проверку в цикле по всем точкам:


if (param == id_выбранной_точки) document.getElementById(param).click()