LayerCollection

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

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

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

Конструктор

LayerCollection()

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

Поля

Имя Тип Описание
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

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

getCopyrights([coords[, zoom]])

util.Promise

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

getIterator()

IIterator

Returns итератор по коллекции.

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

getMap()

Map

Returns ссылку на карту.

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

getParent()

IParentOnMap

Returns ссылку на родительский объект.

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

getZoomRange()

util.Promise

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

remove(child)

LayerCollection

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

setParent(parent)

IChildOnMap

Устанавливает родительский объект.

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

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

add

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

Returns ссылку на себя.

Параметры:

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

Тип: 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 *

Тип: Function

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

context

Тип: Object

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

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

getBrightness

{Number} getBrightness()

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

getCopyrights

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

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

Returns объект-promise.

Параметры:

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

Тип: Number[]

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

zoom

Тип: Number

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

Пример:

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

getZoomRange

{util.Promise} getZoomRange()

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

Returns объект-promise.

Параметры:

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

Тип:

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

Пример:

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

remove

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

Returns ссылку на себя.

Параметры:

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

Тип: ILayer|String

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

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