Клуб API Карт

Слои карты

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

Всем привет! Есть карта, сделанная на основе примера. Сделал на ней активными все области по умолчанию. Но когда меток в каждой группе становится очень много не удобно пользоваться картой. Возможно ли сделать так, чтобы по умолчанию включались только некоторые группы меток, а не все сразу?

9 комментариев
Sergey Konstantinov
28 января 2016, 05:12

Да.

а как, не подскажите? если не трудно каким-нибудь примером хотя бы?

Sergey Konstantinov
28 января 2016, 05:12

(а) создать свой тип карты с диапазоном масштабов (0-18)

(б) создать по экземпляру слоев карты и народной карты; конструкторы этих слоев можно получить из YMaps.MapType.MAP.getLayers() и YMaps.MapType.PMAP.getLayers() соответственно

(в) на каждое изменение центра/масштаба спрашивать у слоёв getMaxZoom(map.getBounds()) и, в зависимости от результата, показывать то один, то другой.

Sergey Konstantinov
28 января 2016, 05:12

не туда

Sergey Konstantinov
28 января 2016, 05:12

А в чем проблема?

 

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

               
                   
           
    Sergey Konstantinov
    28 января 2016, 05:12

    Например, вот так:

    function addMenuItem (group, map, menuContainer, showByDefault) {

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

            };

    Т.е. получается вот так?

     

     

                   
                       
             

      может у кого есть готовый пример?