Клуб API Карт

Удаление меток группы! Пожалуйста!

Ant118126
18 марта 2012, 19:44

Всю голову сломал помогите пожалуйста!

У меня вопрос аналогичный этому

http://clubs.ya.ru/mapsapi/replies.xml?item_no=18741 

 

Делал по этому примеру: http://api.yandex.ru/maps/jsapi/examples/mapgroupmenu.html

 

Но мне нужно чтобы одновременно показываласт только одна группа меток. Фрагмент отвечающий за показ групп

 

 // Показать/скрыть группу на карте
            YMaps.jQuery("<a class=\"title\" href=\"#\">" + group.title + "</a>")
                .bind("click", function () {
                    var link = YMaps.jQuery(this);
                      
                         
                    // Если пункт меню "неактивный", то добавляем группу на карту,
                    // иначе - удаляем с карты
                    if (link.hasClass("active")) {
                        map.removeOverlay(group);
                    } else {
                        map.addOverlay(group);
                    }
                    // Меняем "активность" пункта меню
                    link.toggleClass("active");
                    return false;
                })
                // Добавление нового пункта меню в список
                .appendTo(
                    YMaps.jQuery("<li></li>").appendTo(menuContainer)
                )
        };

 

Пробовал вставить map.removeOverlay(group); 

после    .bind("click", function () {

 

Я Этим я хотел очищать посторонние метки, но реакции нет. Если вставитю link.map.removeOverlay(group); то метки закономерно показываться не будут вообще, чувствую двигаюсь не в том направлении! 

Как сделать очистку меток???

 

Рабочий пример моей страницы здесь:

http://vseryadom.ru/page_1332079963_02.php

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

 

Пробовал вставить map.removeOverlay(group); 

после    .bind("click", function () {

попробуйте вставить map.removeAllOverlays()

 

Спасибо ОГРОМНОЕ!!! 

Почти заработало! :-)

 

Но работает один раз, пото все пункты меню становятся неактивными и нужно несколько раз щёлкать! У меня уже вывих мозга! Как побороть?     link.toggleClass("active"); на     link.addClass("active");

не помогает! :-(

На рабочем примере можно посмотреть о чём я

http://vseryadom.ru/page_1332079963_02.php

Может так

 

 if (link.hasClass("active")) {

                        map.removeOverlay(group);

                    } else {

                        map.addOverlay(group);

 link.toggleClass("active");

                    }

Спасибо что подтолкнули!!!! Вроде работает, так устал что глазам своим не верю...