Клуб API Карт

Нахождения слоя в коллекции

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

Здравствуйте.

Есть коллекция слоёв (LayerCollection). Необходимо включать/выключать отображение слоёв на карте из этой коллекции по требованию.

1. Как найти конкретный слой в коллекции ? Ведь у слоя нет вроде как определяемых свойств (т.е. скажем имя задать не получится) ? Даже если слой - глобальная переменная, то у LayerCollection я не нашёл метода для проверки. Можно только добавить или удалить слой. А как проверить наличие ? Через each() надо что-то с чем-то сравнивать, а что ? Не tileUrlTemplate же ?

2. Как я понял нельзя в коллекции сделать слой невидимым ? Т.е. только удалить/добавить ?

2 комментария

var myLayer = new ymaps.Layer(...);

 

myLayerCollection.add(myLayer);

myLayerCollection.each(function (layer) {

    if(layer == myLayer) {

        ...

    }

});

Спасибо. Что-то я стормозил. Действительно так проще.

А по второму вопросу не подскажете ? Действительно только удалять/добавлять надо ? Скрыть никак ?

В будущем не планируется обращение к конкретному элемету коллекции (без перебора всех) ?