Документация
Справочник JavaScript API
2.1.64 (текущая версия)
collection
interactivityModel
Интерфейсы

LayerCollection

Расширяет ILayer, IMapObjectCollection.

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

Конструктор | Поля | События | Методы

Конструктор

LayerCollection([options])

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

Параметры:

ПараметрЗначение по умолчаниюОписание
options

Тип: Object

Опции слоя.

Поля

ИмяТипОписание
events IEventManager

Менеджер событий.

Унаследовано от IEventEmitter.

options IOptionManager

Менеджер опций.

Унаследовано от ICustomizable.

События

ИмяОписание
add

Произошло добавление дочернего объекта.

Унаследовано от ICollection.

brightnesschange

Событие изменения яркости слоя.

Унаследовано от ILayer.

copyrightschange

Событие изменения доступной информации об авторских правах.

Унаследовано от ILayer.

mapchange

Сменилась карта. Поля данных:

  • oldMap - старая карта;
  • newMap - новая карта.

Унаследовано от IParentOnMap.

optionschange

Изменение в опциях объекта.

Унаследовано от ICustomizable.

parentchange

Сменился родительский объект.

Поля данных:

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

Унаследовано от IChild.

remove

Произошло удаление дочернего объекта.

Унаследовано от ICollection.

zoomrangechange

Событие изменения доступной информации о диапазоне уровней масштабирования.

Унаследовано от ILayer.

Методы

ИмяВозвращаетОписание
add(child)

LayerCollection

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

each(callback[, context])

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

getBrightness()

Number

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

getCopyrights([coords[, zoom]])

vow.Promise

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

getIterator()

IIterator

Возвращает итератор по коллекции.

Унаследован от ICollection.

getMap()

Map

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

Унаследован от IParentOnMap.

getParent()

IParentOnMap|null

Возвращает ссылку на родительский объект или null, если родительский элемент не был установлен.

Унаследован от IChildOnMap.

getZoomRange([coords])

vow.Promise

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

remove(child)

LayerCollection

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

setParent(parent)

IChildOnMap

Устанавливает родительский объект. Если передать значение null, то элемент управления будет только удален из текущего родительского объекта.

Унаследован от IChildOnMap.

Описание методов

add

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

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

Параметры:

ПараметрЗначение по умолчаниюОписание
child *
[no-highlight[

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

]no-highlight]

Тип: ILayer|String

Слой (ключ из хранилища layer.storage или экземпляр класса ILayer), который нужно добавить.

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

Пример:

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

each

{} each(callback[, context])

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

Параметры:

ПараметрЗначение по умолчаниюОписание
callback *
[no-highlight[

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

]no-highlight]

Тип: Function

Функция-обработчик.

context

Тип: Object

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

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

getBrightness

{Number} getBrightness()

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

getCopyrights

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

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

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

Параметры:

ПараметрЗначение по умолчаниюОписание
coords

Тип: Number[]

Точка на карте, для которой запрашивается информация об авторских правах.

zoom

Тип: Number

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

Пример:

// Пусть у нас есть сервис, умеющий по координатам
// и уровню масштабирования возвращать копирайты
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

{vow.Promise} getZoomRange([coords])

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

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

Параметры:

ПараметрЗначение по умолчаниюОписание
coords

Тип: Number[]

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

Пример:

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

remove

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

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

Параметры:

ПараметрЗначение по умолчаниюОписание
child *
[no-highlight[

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

]no-highlight]

Тип: ILayer|String

Слой (строка-ключ из layer.storage или экземпляр класса ILayer), который нужно удалить.

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