Layer
Расширяет ILayer, IParentOnMap, IPositioningContext.
Тайловый слой. Позволяет отображать на карте подложку, состоящую из тайлов.
Конструктор | Поля | События | Методы
Конструктор
Layer(tileUrlTemplate[, options])
Параметры:
Параметр |
Значение по умолчанию |
Описание |
|
— |
Тип: String|Function Строковый шаблон URL тайла, либо функция, которая генерирует URL тайла. Для строкового шаблона поддерживается подстановка:
|
n- заменяется на число от 1 до n, в зависимости от номера тайла; n - количество доменов. Используется для распределения нагрузки между несколькими доменами. В качестве n нужно указывать степени двойки (2, 4, 16 и т.д.). Если шаблон имеет %d, то n=4. Функция-шаблон получает на вход три параметра:
|
|
— |
Тип: Object Опции. |
||
0.5 |
Тип: Number Яркость слоя. Задается числом от 0 до 1. 0 соответствует черному цвету, 1 - белому. |
||
null |
Тип: String|null Опция, указывающая по какому url нужно загрузить картинку, если картинка для тайла не загрузилась. Если значение null, то будет показан стандартный тайл с текстовым сообщением. Для прозрачных тайлов опция notFoundTile не применяется, и вместо незагруженных тайлов ничего показываться не будет. |
||
'ground' |
Тип: IPane|String Указатель на пейн слоя или ключ из map.pane.Manager. |
||
— |
Тип: Object Проекция слоя. |
||
[256, 256] |
Тип: Number[] Размер тайлов слоя. |
||
false |
Тип: Boolean Флаг, показывающий, являются ли тайлы слоя прозрачными. |
||
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');
Поля
Имя |
Тип |
Описание |
Менеджер событий. Унаследовано от IEventEmitter. |
||
Менеджер опций. Унаследовано от ICustomizable. |
События
Имя |
Описание |
Событие изменения яркости слоя. Унаследовано от ILayer. |
|
Событие изменения доступной информации об авторских правах. Унаследовано от ILayer. |
|
Сменилась карта. Поля данных:
Унаследовано от IParentOnMap. |
|
Изменение в опциях объекта. Унаследовано от ICustomizable. |
|
Сменился родительский объект. Поля данных:
Унаследовано от IChild. |
|
Событие изменения состояния загрузки тайла. Поля данных:
Унаследовано от ILayer. |
|
Событие изменения доступной информации о диапазоне уровней масштабирования. Унаследовано от ILayer. |
Методы
Имя |
Возвращает |
Описание |
|
Number[] |
Возвращает номер тайла, в который попадает указанная точка при заданном уровне масштаба тайлов. |
||
Number[] |
Преобразует клиентские пиксельные координаты в глобальные. Унаследован от IPositioningContext. |
||
Number |
Необязательный метод. Унаследован от ILayer. |
||
Необязательный метод. Запрашивает информацию об авторских правах в указанной точке с указанным коэффициентом масштабирования. Унаследован от ILayer. |
|||
getMap() |
Возвращает ссылку на карту. Унаследован от IParentOnMap. |
||
getPane() |
Возвращает контейнер, в котором находится слой. |
||
IParentOnMap|null |
Возвращает ссылку на родительский объект или null, если родительский элемент не был установлен. Унаследован от IChildOnMap. |
||
Number[] |
Возвращает размеры тайла по горизонтали и вертикали для указанного коэффициента масштабирования. |
||
Object |
Возвращает общее число видимых тайлов и число готовых. Тайл считается готовым, когда она загружен и отрисован. |
||
String|null |
Возвращает URL тайла по его номеру и уровню масштабирования или null если для запрашиваемого участка нет данных. |
||
String|Function |
Возвращает строковый шаблон URL тайла или функцию, которая его генерирует. |
||
getZoom() |
Number |
Возвращает текущий уровень масштабирования, в котором работает контекст позиционирования. Унаследован от IPositioningContext. |
|
Необязательный метод. Определяет доступный в указанной точке диапазон уровней масштабирования. Если данные есть, то возвращенный объект-promise будет подтвержден и передаст в качестве результата массив из двух чисел - минимальный и максимальный доступный в точке уровень масштабирования. Если данных нет, то promise отклоняется с указанием ошибки. Унаследован от ILayer. |
|||
Number[][] |
Преобразует номер и уровень масштаба тайла в занимаемую тайлом область в клиентских координатах родительского контейнера. |
||
Integer[] |
null |
Накладывает ограничения на зону видимости тайлов (в том числе зацикленность карты по осям x, y). |
|
Устанавливает родительский объект. Если передать значение null, то элемент управления будет только удален из текущего родительского объекта. Унаследован от IChildOnMap. |
|||
Number[] |
Преобразует глобальные пиксельные координаты в клиентские. Унаследован от IPositioningContext. |
||
update() |
Удаляет старые тайлы и запрашивает новые. |
Описание методов
clientPixelsToNumber
{Number[]} clientPixelsToNumber(clientPixelPoint, tileZoom)
Возвращает номер тайла, в который попадает указанная точка при заданном уровне масштаба тайлов.
Параметры:
Параметр |
Значение по умолчанию |
Описание |
— |
Тип: Number Точка в клиентских пиксельных координатах. |
|
— |
Тип: Number Уровень масштабирования тайла. |
* Обязательный параметр/опция.
getPane
{IPane} getPane()
Возвращает контейнер, в котором находится слой.
getTileSize
{Number[]} getTileSize(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 если для запрашиваемого участка нет данных.
Параметры:
Параметр |
Значение по умолчанию |
Описание |
— |
Тип: |
|
— |
Тип: |
* Обязательный параметр/опция.
Пример:
// Определяет функцию для формирования 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)
Преобразует номер и уровень масштаба тайла в занимаемую тайлом область в клиентских координатах родительского контейнера.
Возвращает область в клиентских пиксельных координатах.
Параметры:
Параметр |
Значение по умолчанию |
Описание |
— |
Тип: Integer[] Номер тайла. |
|
— |
Тип: Integer Уровень масштабирования тайла. |
* Обязательный параметр/опция.
restrict
{Integer[]|null} restrict(number, tileZoom)
Накладывает ограничения на зону видимости тайлов (в том числе зацикленность карты по осям x, y).
Возвращает новый номер тайла с учётом ограничений либо null, если тайл не входит в зону видимости.
Параметры:
Параметр |
Значение по умолчанию |
Описание |
— |
Тип: Integer[] Номер тайла. |
|
— |
Тип: Integer Уровень масштабирования тайла. |
* Обязательный параметр/опция.
setTileUrlTemplate
{} setTileUrlTemplate(tileUrlTemplate)
Параметры:
Параметр |
Значение по умолчанию |
Описание |
|
— |
Тип: String |
Function Строковый шаблон URL тайла, либо функция, которая его генерирует. |
* Обязательный параметр/опция.
update
{} update()
Удаляет старые тайлы и запрашивает новые.
Параметры:
Параметр |
Значение по умолчанию |
Описание |
— |
Тип: |
* Обязательный параметр/опция.
Обязательный параметр.