Layer

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

Тайловый слой. Позволяет отображать на карте подложку, состоящую из тайлов.

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

Конструктор

Layer(tileUrlTemplate[, options])

Параметры:

Параметр

Значение по умолчанию

Описание

tileUrlTemplate*

Тип: String|Function

Строковый шаблон URL тайла, либо функция, которая генерирует URL тайла. Для строкового шаблона поддерживается подстановка:

  • %с заменяется на x=номер[0]&y=номер[1]&z=уровень масштабирования.
  • %x — заменяется на номер[1];
  • %y — заменяется на номер[1];
  • %z — заменяется на уровень масштабирования;
  • %l — заменяется на lang=язык;
  • %d или %d

n- заменяется на число от 1 до n, в зависимости от номера тайла; n - количество доменов. Используется для распределения нагрузки между несколькими доменами. В качестве n нужно указывать степени двойки (2, 4, 16 и т.д.). Если шаблон имеет %d, то n=4.

Функция-шаблон получает на вход три параметра:

  • tileNumber - массив из двух чисел, номера тайла по x и y;
  • tileZoom - уровень масштабирования;
  • Возвращает строку-URL.

options

Тип: Object

Опции.

options.brightness

0.5

Тип: Number

Яркость слоя. Задается числом от 0 до 1. 0 соответствует черному цвету, 1 - белому.

options.notFoundTile

null

Тип: String|null

Опция, указывающая по какому url нужно загрузить картинку, если картинка для тайла не загрузилась. Если значение null, то будет показан стандартный тайл с текстовым сообщением. Для прозрачных тайлов опция notFoundTile не применяется, и вместо незагруженных тайлов ничего показываться не будет.

options.pane

'ground'

Тип: IPane|String

Указатель на пейн слоя или ключ из map.pane.Manager.

options.projection

Тип: Object

Проекция слоя.

options.tileSize

[256, 256]

Тип: Number[]

Размер тайлов слоя.

options.tileTransparent

false

Тип: Boolean

Флаг, показывающий, являются ли тайлы слоя прозрачными.

options.zIndex

constants.zIndex.layer

Тип: Number

zIndex слоя в контейнере слоёв.

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

Пример:

// Добавляет на карту слой OSM.
map.layers.add(new ymaps.Layer('http://tile.openstreetmap.org/%z/%x/%y.png', {
    projection: ymaps.projection.sphericalMercator
}));
map.copyrights.add('© OpenStreetMap contributors, CC-BY-SA');

Поля

Имя

Тип

Описание

events

IEventManager

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

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

options

IOptionManager

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

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

События

Имя

Описание

brightnesschange

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

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

copyrightschange

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

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

mapchange

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

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

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

optionschange

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

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

parentchange

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

Поля данных:

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

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

tileloadchange

Событие изменения состояния загрузки тайла. Поля данных:

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

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

zoomrangechange

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

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

Методы

Имя

Возвращает

Описание

clientPixelsToNumber(clientPixelPoint, tileZoom)

Number[]

Возвращает номер тайла, в который попадает указанная точка при заданном уровне масштаба тайлов.

fromClientPixels(clientPixelPoint)

Number[]

Преобразует клиентские пиксельные координаты в глобальные.

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

getBrightness()

Number

Необязательный метод.

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

getCopyrights(coords, zoom)

vow.Promise

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

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

getMap()

Map

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

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

getPane()

IPane

Возвращает контейнер, в котором находится слой.

getParent()

IParentOnMap|null

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

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

getTileSize(zoom)

Number[]

Возвращает размеры тайла по горизонтали и вертикали для указанного коэффициента масштабирования.

getTileStatus()

Object

Возвращает общее число видимых тайлов и число готовых. Тайл считается готовым, когда она загружен и отрисован.

getTileUrl(tileNumber, tileZoom)

String|null

Возвращает URL тайла по его номеру и уровню масштабирования или null если для запрашиваемого участка нет данных.

getTileUrlTemplate()

String|Function

Возвращает строковый шаблон URL тайла или функцию, которая его генерирует.

getZoom()

Number

Возвращает текущий уровень масштабирования, в котором работает контекст позиционирования.

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

getZoomRange(point)

vow.Promise

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

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

numberToClientBounds(tileNumber, tileZoom)

Number[][]

Преобразует номер и уровень масштаба тайла в занимаемую тайлом область в клиентских координатах родительского контейнера.

restrict(number, tileZoom)

Integer[]

null

Накладывает ограничения на зону видимости тайлов (в том числе зацикленность карты по осям x, y).

setParent(parent)

IChildOnMap

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

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

setTileUrlTemplate(tileUrlTemplate)

toClientPixels(globalPixelPoint)

Number[]

Преобразует глобальные пиксельные координаты в клиентские.

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

update()

Удаляет старые тайлы и запрашивает новые.

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

clientPixelsToNumber

{Number[]} clientPixelsToNumber(clientPixelPoint, tileZoom)

Возвращает номер тайла, в который попадает указанная точка при заданном уровне масштаба тайлов.

Параметры:

Параметр

Значение по умолчанию

Описание

clientPixelPoint*

Тип: Number

Точка в клиентских пиксельных координатах.

tileZoom*

Тип: Number

Уровень масштабирования тайла.

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

getPane

{IPane} getPane()

Возвращает контейнер, в котором находится слой.

getTileSize

{Number[]} getTileSize(zoom)

Возвращает размеры тайла по горизонтали и вертикали для указанного коэффициента масштабирования.

Параметры:

Параметр

Значение по умолчанию

Описание

zoom*

Тип: Number

Значение коэффициента мастабирования.

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

Пример:

// Покажем тайлы для большего уровня масштабирования,
// растянутые в два раза до размера 512х512 пикселей.
// Например, для экономии трафика.
var layer = new ymaps.Layer('', {
    projection: ymaps.projection.sphericalMercator
});
layer.getTileUrl = function (tileNumber, zoom) {
    return [
        'http://tile.openstreetmap.org',
        Math.max(zoom - 1, 0),tileNumber[0], tileNumber[1]
    ].join('/') + '.png';
}
layer.getTileSize = function (zoom) {
    if (zoom == 0) {
        return [256, 256];
    }
    return [512, 512];
}
map.copyrights.add('© OpenStreetMap contributors, CC-BY-SA');

getTileStatus

{Object} getTileStatus()

Возвращает общее число видимых тайлов и число готовых. Тайл считается готовым, когда она загружен и отрисован.

Возвращает объект, содержащий следующие поля:

  • readyTileNumber-количество готовых тайлов. Тип: Number.
  • totalTileNumber - общее количество тайлов. Тип: Number.

getTileUrl

{String|null} getTileUrl(tileNumber, tileZoom)

Возвращает URL тайла по его номеру и уровню масштабирования или null если для запрашиваемого участка нет данных.

Параметры:

Параметр

Значение по умолчанию

Описание

tileNumber*

Тип:

tileZoom*

Тип:

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

Пример:

// Определяет функцию для формирования URL тайла
var layer = new ymaps.Layer('');
layer.getTileUrl = function (tileNumber, zoom) {
    return [
        'http://tile.openstreetmap.org',
        zoom, tileNumber[0], tileNumber[1]
    ].join('/') + '.png';
}

getTileUrlTemplate

{String|Function} getTileUrlTemplate()

Возвращает строковый шаблон URL тайла или функцию, которая его генерирует.

numberToClientBounds

{Number[][]} numberToClientBounds(tileNumber, tileZoom)

Преобразует номер и уровень масштаба тайла в занимаемую тайлом область в клиентских координатах родительского контейнера.

Возвращает область в клиентских пиксельных координатах.

Параметры:

Параметр

Значение по умолчанию

Описание

tileNumber*

Тип: Integer[]

Номер тайла.

tileZoom*

Тип: Integer

Уровень масштабирования тайла.

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

restrict

{Integer[]|null} restrict(number, tileZoom)

Накладывает ограничения на зону видимости тайлов (в том числе зацикленность карты по осям x, y).

Возвращает новый номер тайла с учётом ограничений либо null, если тайл не входит в зону видимости.

Параметры:

Параметр

Значение по умолчанию

Описание

number*

Тип: Integer[]

Номер тайла.

tileZoom*

Тип: Integer

Уровень масштабирования тайла.

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

setTileUrlTemplate

{} setTileUrlTemplate(tileUrlTemplate)

Параметры:

Параметр

Значение по умолчанию

Описание

tileUrlTemplate*

Тип: String

Function

Строковый шаблон URL тайла, либо функция, которая его генерирует.

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

update

{} update()

Удаляет старые тайлы и запрашивает новые.

Параметры:

Параметр

Значение по умолчанию

Описание

updateBounds*

Тип:

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

Следующая