Клуб API Карт

Слои и метки

blondinka6482
27 января 2009, 11:42

Всем здравствуйте! Программирую для карт всего неделю, но уже много чего получается! Столкнулась со следующей проблемкой: если разделить метки по слоям, то по клику на метках перестаёт появляться стандартный балун! Не получается даже через слушатель событий получить хоть какую-нибудь реакцию на клик! Может кто-нибудь подскажет, в чём проблема?

7 комментариев
Подписаться на комментарии к посту
Дайте, пожалуйста, ссылку на скрипт, на котором можно наблюдать Вашу проблему (желательно с минимум кода).
Тестируюсь локально. Вот фрагмент кода: var map = new YMaps.Map( document.getElementById("YMapsID") ); for (var i = 0;iemark,placemark.Events.Click, function () { alert("Щелк!"); // map.openBalloon(); }); gCollection.add(placemark); } myLayer.add(gCollection); YMaps.Layers.add("test#layer"+layers[i].id, myLayer); map.addLayer(myLayer); } Для меток разработан свой стиль. Данные в JSON.
Я пытаюсь сделать что-то вроде легенды, которая позволит пользователям выбирать слои, которые он хочет видеть! Как например, на некоторых картах есть группировка объектов по типам: кинотеатры, банки, гостиницы и т.д. Может это можно сделать как-то иначе, без использования слоёв! Но у обычных оверлеев я не нашла метода установки видимости.
Для этих целей воспользуйтесь лучше классом YMaps.GeoObjectCollection(). Если не получится - напишите. Сделаю простенький пример.
Что-то пока не получается! Не придумаю никак, как по клику на чекбоксе, который находится вне карты, достучаться до определённого (с id) объекта YMaps.GeoObjectCollection() и скрыть все метки, находящиеся в нём, т.е. видимо сменить им стиль. Для этого нужно все коллекции положить в какой-нибудь объект-контейнер или массив с возможность последующего выбора по идентификатору, правильно? Вообщем, Александр, я буду очень рада получить от Вас простенький пример! )))
Для того, чтобы показывать и скрывать все метки группы достатоно добавлять или удалять группу с карты. Как связать DOM-ноду с оверлеем (ну или в Вашем случае с группой оверлеев) показано в этом примере. Также пользователь hevil написал пример, который добавляет группу меток на карту по клике на ссылку. Пример доступен по этой ссылке. Обязательно сообщите получилось у Вас или нет. Удачи!
Получилось! Я решила задачу, может не самым изящным способом, но зато очень простым! Спасибо за подсказку! Почему-то сначала ошибочно решила, что команда removeOverlay окончательно удаляет объекты с карты! :) Пример того, что получилось здесь: http://www.knowland.ru/openmap/