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.

tileloadchange
Событие изменения состояния загрузки тайла. Поля данных:
  • readyTileNumber-количество готовых тайлов. Тайл считается готовым, когда она загружен и отрисован. Тип: Number.
  • totalTileNumber-общее количество видимых тайлов. Тип: Number.

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

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

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

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

Параметры:

Параметр Значение по умолчанию Описание
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()

Возвращает яркость слоя в виде числа от 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

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

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

Параметры:

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

Тип: ILayer|String

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

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