---
metadata:
  - name: generator
    content: Diplodoc Platform v5.39.1
alternate:
  - https://yandex.com/dev/jsapi-v2-1/doc/en/v2-1/ref/reference/LayerCollection.md
  - https://yandex.com/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/LayerCollection.md
---
> **Documentation Index:** Fetch the complete configuration index at https://yandex.com/dev/jsapi-v2-1/doc/ru/llms.txt

# LayerCollection

Расширяет [ILayer](https://yandex.com/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/ILayer.md), [IMapObjectCollection](https://yandex.com/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/IMapObjectCollection.md).

Коллекция слоев.

[Конструктор](#constructor-summary) | [Поля ](#properties-summary) | [События ](#events-summary) | [Методы ](#methods-summary)

## Конструктор {#constructor-summary}

```javascript
LayerCollection([options])
```

Коллекция слоев.

**Параметры:**

#|
|| **Параметр** | **Значение по умолчанию** | **Описание**  ||
|| [`options`](#param-options) | — | Тип: Object

Опции слоя. ||
|#


## Поля {#properties-summary}

#|
|| **Имя** | **Тип** | **Описание** ||
|| [events](https://yandex.com/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/IEventEmitter.md#events) | [IEventManager](https://yandex.com/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/IEventManager.md) | Менеджер событий.

Унаследовано от [IEventEmitter](https://yandex.com/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/IEventEmitter.md#events). ||
|| [options](https://yandex.com/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/ICustomizable.md#options) | [IOptionManager](https://yandex.com/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/IOptionManager.md) | Менеджер опций.

Унаследовано от [ICustomizable](https://yandex.com/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/ICustomizable.md#options). ||
|#

## События {#events-summary}

#|
|| **Имя** | **Описание** ||
|| [add](https://yandex.com/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/ICollection.md#event-add) | Произошло добавление дочернего объекта.

Унаследовано от [ICollection](https://yandex.com/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/ICollection.md#event-add). ||
|| [brightnesschange](https://yandex.com/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/ILayer.md#event-brightnesschange) | Событие изменения яркости слоя.

Унаследовано от [ILayer](https://yandex.com/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/ILayer.md#event-brightnesschange). ||
|| [copyrightschange](https://yandex.com/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/ILayer.md#event-copyrightschange) | Событие изменения доступной информации об авторских правах.

Унаследовано от [ILayer](https://yandex.com/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/ILayer.md#event-copyrightschange). ||
|| [mapchange](https://yandex.com/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/IParentOnMap.md#event-mapchange) | Сменилась карта. Поля данных:
- oldMap - старая карта;
- newMap - новая карта.

Унаследовано от [IParentOnMap](https://yandex.com/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/IParentOnMap.md#event-mapchange). ||
|| [optionschange](https://yandex.com/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/ICustomizable.md#event-optionschange) | Изменение в опциях объекта.

Унаследовано от [ICustomizable](https://yandex.com/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/ICustomizable.md#event-optionschange). ||
|| [parentchange](https://yandex.com/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/IChild.md#event-parentchange) | Сменился родительский объект.

Поля данных:

- oldParent - старый родитель;
- newParent - новый родитель.

Унаследовано от [IChild](https://yandex.com/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/IChild.md#event-parentchange). ||
|| [remove](https://yandex.com/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/ICollection.md#event-remove) | Произошло удаление дочернего объекта.

Унаследовано от [ICollection](https://yandex.com/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/ICollection.md#event-remove). ||
|| [tileloadchange](https://yandex.com/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/ILayer.md#event-tileloadchange) | Событие изменения состояния загрузки тайла. Поля данных:
- readyTileNumber-количество готовых тайлов. Тайл считается готовым, когда она загружен и отрисован. Тип: Number.
- totalTileNumber-общее количество видимых тайлов. Тип: Number.

Унаследовано от [ILayer](https://yandex.com/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/ILayer.md#event-tileloadchange). ||
|| [zoomrangechange](https://yandex.com/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/ILayer.md#event-zoomrangechange) | Событие изменения доступной информации о диапазоне уровней масштабирования.

Унаследовано от [ILayer](https://yandex.com/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/ILayer.md#event-zoomrangechange). ||
|#


## Методы {#methods-summary}

#|
|| **Имя** | **Возвращает** | **Описание** ||
|| [add](https://yandex.com/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/LayerCollection.md#add)([child](https://yandex.com/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/LayerCollection.md#add-param-child)) | [LayerCollection](https://yandex.com/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/LayerCollection.md) | Добавляет в коллекцию дочерний объект. ||
|| [each](https://yandex.com/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/LayerCollection.md#each)([callback](https://yandex.com/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/LayerCollection.md#each-param-callback)[, [context](https://yandex.com/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/LayerCollection.md#each-param-context)]) | | Перебирает все элементы коллекции, вызывая для каждого функцию-обработчик. ||
|| [getBrightness](https://yandex.com/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/LayerCollection.md#getBrightness)() | Number | Возвращает яркость слоя в виде числа от 0 до 1. ||
|| [getCopyrights](https://yandex.com/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/LayerCollection.md#getCopyrights)(\[[coords](https://yandex.com/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/LayerCollection.md#getCopyrights-param-coords)[, [zoom](https://yandex.com/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/LayerCollection.md#getCopyrights-param-zoom)]]) | [vow.Promise](https://yandex.com/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/vow.Promise.md) | Запрашивает информацию об авторских правах в указанной точке с указанным коэффициентом масштабирования. Если точка и коэффициент масштабирования не указаны, будут использованы центр и коэффициент масштабирования карты. ||
|| [getIterator](https://yandex.com/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/ICollection.md#getIterator)() | [IIterator](https://yandex.com/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/IIterator.md) | Возвращает итератор по коллекции.

Унаследован от [ICollection](https://yandex.com/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/ICollection.md#getIterator). ||
|| [getMap](https://yandex.com/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/IParentOnMap.md#getMap)() | [Map](https://yandex.com/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/Map.md) | Возвращает ссылку на карту.

Унаследован от [IParentOnMap](https://yandex.com/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/IParentOnMap.md#getMap). ||
|| [getParent](https://yandex.com/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/IChildOnMap.md#getParent)() | [IParentOnMap](https://yandex.com/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/IParentOnMap.md)\|null | Возвращает ссылку на родительский объект или null, если родительский элемент не был установлен.

Унаследован от [IChildOnMap](https://yandex.com/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/IChildOnMap.md#getParent). ||
|| [getZoomRange](https://yandex.com/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/LayerCollection.md#getZoomRange)(\[[coords](https://yandex.com/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/LayerCollection.md#getZoomRange-param-coords)]) | [vow.Promise](https://yandex.com/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/vow.Promise.md) | Определяет доступный в указанной точке диапазон уровней масштабирования. Если данные есть, то возвращенный объект-promise будет подтвержден и передаст в качестве результата массив из двух чисел - минимальный и максимальный доступный в точке уровень масштабирования. Если данных нет, то promise отклоняется с указанием ошибки. Если у коллекции нет ни одного потомка, предоставляющего информацию о диапазоне уровней масштабирования, то promise будет отклонён с сообщением 'noProvider'. ||
|| [remove](https://yandex.com/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/LayerCollection.md#remove)([child](https://yandex.com/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/LayerCollection.md#remove-param-child)) | [LayerCollection](https://yandex.com/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/LayerCollection.md) | Удаляет из коллекции дочерний объект. ||
|| [removeAll](https://yandex.com/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/LayerCollection.md#removeAll)() | [Collection](https://yandex.com/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/Collection.md) | Удаляет все элементы коллекции. ||
|| [setParent](https://yandex.com/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/IChildOnMap.md#setParent)([parent](https://yandex.com/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/IChildOnMap.md#setParent-param-parent)) | [IChildOnMap](https://yandex.com/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/IChildOnMap.md) | Устанавливает родительский объект. Если передать значение null, то элемент управления будет только удален из текущего родительского объекта.

Унаследован от [IChildOnMap](https://yandex.com/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/IChildOnMap.md#setParent). ||
|#

## Описание методов {#method_detail}

### add {#add}

```javascript
{LayerCollection} add(child)
```

Добавляет в коллекцию дочерний объект.

**Возвращает** ссылку на себя.

**Параметры:**

#|
|| **Параметр** | **Значение по умолчанию** | **Описание**  ||
|| [`child`](#add-param-child)[*](*star) | — | Тип: [ILayer](https://yandex.com/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/ILayer.md)\|String

Слой (ключ из хранилища [layer.storage](https://yandex.com/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/layer.storage.md) или экземпляр класса [ILayer](https://yandex.com/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/ILayer.md)), который нужно добавить. ||
|#

\* Обязательный параметр/опция.

**Пример:**

```javascript
// Допустим, мы хотим добавить в свою коллекцию несколько слоев.
var layerCollection = new ymaps.LayerCollection();
var customLayer = new ymaps.Layer('http://tile.openstreetmap.org/%z/%x/%y.png', {
    projection: ymaps.projection.sphericalMercator
});
// Слой можно задать ключом из layer.storage.
var satelliteLayer = 'yandex#satellite';
// Добавим слои в нашу коллекцию.
layerCollection
    .add(customLayer)
    .add(satelliteLayer);
```

### each {#each}

```javascript
{} each(callback[, context])
```

Перебирает все элементы коллекции, вызывая для каждого функцию-обработчик.

**Параметры:**

#|
|| **Параметр** | **Значение по умолчанию** | **Описание**  ||
|| [`callback`](#each-param-callback)[*](*star) | — | Тип: Function

Функция-обработчик. ||
|| [`context`](#each-param-context) | — | Тип: Object

Контекст исполнения функции. ||
|#

\* Обязательный параметр/опция.

### getBrightness {#getBrightness}

```javascript
{Number} getBrightness()
```

**Возвращает** яркость слоя в виде числа от 0 до 1.

### getCopyrights  {#getCopyrights}

```javascript
{vow.Promise} getCopyrights([coords[, zoom]])
```

Запрашивает информацию об авторских правах в указанной точке с указанным коэффициентом масштабирования. Если точка и коэффициент масштабирования не указаны, будут использованы центр и коэффициент масштабирования карты.

**Возвращает** Promise объект, который будет подтверждён массивом строк или DOM-элементов с информацией об авторских правах.

**Параметры:**

#|
|| **Параметр** | **Значение по умолчанию** | **Описание**  ||
|| [`coords`](#getCopyrights-param-coords) | — | Тип: Number[]

Точка на карте, для которой запрашивается информация об авторских правах. ||
|| [`zoom`](#getCopyrights-param-zoom) | — | Тип: Number

Уровень масштабирования, для которого запрашивается информация об авторских правах. ||
|#


**Пример:**

```javascript
// Пусть у нас есть сервис, умеющий по координатам
// и уровню масштабирования возвращать копирайты.
myLayer.getCopyrights = function (coords, zoom) {
    var deferred = ymaps.vow.defer();
    $.ajax('url/to/copyrights/provider?ll=' +
        (coords || map.getCenter()).join(',') + '&z=' +
        (zoom || map.getZoom()),
    function (res) {
        deferred.resolve(res || []);
    });
    return deferred.promise();
};
```

### getZoomRange {#getZoomRange}

```javascript
{vow.Promise} getZoomRange([coords])
```

Определяет доступный в указанной точке диапазон уровней масштабирования. Если данные есть, то возвращенный объект-promise будет подтвержден и передаст в качестве результата массив из двух чисел - минимальный и максимальный доступный в точке уровень масштабирования. Если данных нет, то promise отклоняется с указанием ошибки. Если у коллекции нет ни одного потомка, предоставляющего информацию о диапазоне уровней масштабирования, то promise будет отклонён с сообщением 'noProvider'.

**Возвращает** объект-promise.

**Параметры:**

#|
|| **Параметр** | **Значение по умолчанию** | **Описание**  ||
|| [`coords`](#getZoomRange-param-coords) | — | Тип: Number[]

Координаты точки. Если не указана, берётся текущий центр карты. ||
|#


**Пример:**

```javascript
// Допустим, наш слой отрисован для масштабов 2-15 по всей земле.
myLayer.getZoomRange = function () {
    return ymaps.vow.resolve([2, 15]);
}
```

### remove  {#remove}

```javascript
{LayerCollection} remove(child)
```

Удаляет из коллекции дочерний объект.

**Возвращает** ссылку на себя.

**Параметры:**

#|
|| **Параметр** | **Значение по умолчанию** | **Описание**  ||
|| [`child`](#remove-param-child)[*](*star) | — | Тип: [ILayer](https://yandex.com/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/ILayer.md)\|String

Слой (строка-ключ из [layer.storage](https://yandex.com/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/layer.storage.md) или экземпляр класса [ILayer](https://yandex.com/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/ILayer.md)), который нужно удалить. ||
|#

\* Обязательный параметр/опция.

### removeAll {#removeAll}

```javascript
{Collection} removeAll()
```

Удаляет все элементы коллекции.

**Возвращает** ссылку на себя.

<!-- XLIFF_FARM_YjFkMTlk_CACHING -->

[*star]: Обязательный параметр.