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

Layer

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

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

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

Конструктор

Параметры:

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

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

]no-highlight]

Тип: String|Function

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

  • %c — заменяется на x=номер[0]&y=номер[1]&z=уровень масштабирования;
  • %x — заменяется на номер[0];
  • %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.

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[]

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

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 *
[no-highlight[

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

]no-highlight]

Тип: Number

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

tileZoom *
[no-highlight[

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

]no-highlight]

Тип: Number

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

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

getPane

{IPane} getPane()

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

getTileSize

{Number[]} getTileSize(zoom)

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

Параметры:

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

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

]no-highlight]

Тип: 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');

getTileUrl

{String|null} getTileUrl(tileNumber, tileZoom)

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

Параметры:

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

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

]no-highlight]

Тип:

tileZoom *
[no-highlight[

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

]no-highlight]

Тип:

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

Пример:

// Определяет функцию для формирования 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 *
[no-highlight[

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

]no-highlight]

Тип: Integer[]

Номер тайла.

tileZoom *
[no-highlight[

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

]no-highlight]

Тип: Integer

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

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

restrict

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

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

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

Параметры:

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

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

]no-highlight]

Тип: Integer[]

Номер тайла.

tileZoom *
[no-highlight[

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

]no-highlight]

Тип: Integer

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

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

setTileUrlTemplate

{} setTileUrlTemplate(tileUrlTemplate)

Параметры:

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

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

]no-highlight]

Тип: String|Function

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

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

update

{} update()

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

Параметры:

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

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

]no-highlight]

Тип:

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