Spec-Zone.ru › OpenLayers

ol/layer/Vector~VectorLayer


import VectorLayer from 'ol/layer/Vector.js';

Векторные данные отображаются на стороне клиента в виде векторов. Этот тип слоя обеспечивает наиболее точное отображение даже во время анимации. Точки и подписи остаются вертикальными при повороте карты. При работе с очень большими объемами векторных данных производительность во время панорамирования и масштабирования может снизиться. В этом случае попробуйте VectorImageLayer.

Обратите внимание: любое свойство, заданное в параметрах, устанавливается как свойство BaseObject объекта слоя; например, если задать title: 'My Title' в параметрах, то title будет наблюдаемым и получит методы доступа get/set.

new VectorLayer(options)

layer/Vector.js, строка 74
Имя Тип Описание
className string (по умолчанию 'ol-layer')

Имя CSS-класса для элемента слоя.

opacity number (по умолчанию 1)

Непрозрачность (0, 1).

visible boolean (по умолчанию true)

Видимость.

extent Extent | undefined

Границы отображения слоя. Слой не будет отображаться за пределами этих границ.

zIndex number | undefined

Z-индекс слоя. При отображении слои упорядочиваются сначала по Z-индексу, а затем по позиции. Если задано undefined, для слоев, добавленных в коллекцию layers карты, предполагается значение zIndex, равное 0, а для слоев, добавленных с помощью метода setMap(), — Infinity.

minResolution number | undefined

Минимальное разрешение (включительно), при котором этот слой будет видимым.

maxResolution number | undefined

Максимальное разрешение (не включительно), ниже которого этот слой будет видимым.

minZoom number | undefined

Минимальный уровень масштабирования карты (не включительно), выше которого этот слой будет видимым.

maxZoom number | undefined

Максимальный уровень масштабирования карты (включительно), при котором этот слой будет видимым.

renderOrder OrderFunction | undefined

Порядок отображения. Функция, используемая для сортировки объектов перед отображением. По умолчанию объекты рисуются в порядке их создания. Используйте null, чтобы избежать сортировки, но получить неопределенный порядок отрисовки.

renderBuffer number (по умолчанию 100)

Буфер в пикселях вокруг границ области просмотра, который рендерер использует при получении объектов из векторного источника для отображения или обнаружения попаданий. Рекомендуемое значение: размер самого крупного символа, ширина линии или подписи.

source VectorSourceType | undefined

Источник.

map Map | undefined

Добавляет слой на карту в качестве наложения. Карта не будет управлять этим слоем в своей коллекции слоев, а слой будет отображаться поверх остальных. Это полезно для временных слоев. Стандартный способ добавления слоя на карту, управляемого картой, — использовать map.addLayer().

declutter boolean | string | number (по умолчанию false)

Предотвращает перекрытие изображений и текста. Любое истинное значение включает предотвращение перекрытия. В пределах одного слоя объект, отрисованный раньше другого, имеет более высокий приоритет. Для всех слоев с одинаковым значением declutter предотвращение перекрытия выполняется совместно. Приоритет определяется порядком отрисовки слоев с одинаковым значением declutter. Чем выше слой в стеке, тем выше его приоритет. Чтобы отдельно предотвращать перекрытия для разных слоев или групп слоев, используйте разные истинные значения для declutter.

style StyleLike | FlatStyleLike | null | undefined

Стиль слоя. Если задано значение null, будут отображаться только объекты с собственным стилем. Стиль по умолчанию, используемый, если это значение не задано, см. в разделе Style.

background BackgroundColor | undefined

Цвет фона слоя. Если не задан, фон не отображается.

updateWhileAnimating boolean (по умолчанию false)

Если задано значение true, пакеты объектов будут пересоздаваться во время анимации. Это означает, что векторы не будут обрезаться, однако для больших объемов векторных данных это снизит производительность. Если задано значение false, пакеты будут пересоздаваться, когда анимация не активна.

updateWhileInteracting boolean (по умолчанию false)

Если задано значение true, пакеты объектов будут пересоздаваться во время взаимодействия. См. также updateWhileAnimating.

properties Object.<string, *> | undefined

Произвольные наблюдаемые свойства. Доступ к ним осуществляется с помощью #get() и #set().

Вызывает события:
  • change (BaseEvent) — общее событие изменения. Вызывается при увеличении счетчика ревизий.
  • change:extent (ObjectEvent)
  • change:maxResolution (ObjectEvent)
  • change:maxZoom (ObjectEvent)
  • change:minResolution (ObjectEvent)
  • change:minZoom (ObjectEvent)
  • change:opacity (ObjectEvent)
  • change:source (ObjectEvent)
  • change:visible (ObjectEvent)
  • change:zIndex (ObjectEvent)
  • error (BaseEvent) — общее событие ошибки. Вызывается при возникновении ошибки.
  • postrender (RenderEvent) — вызывается после отображения слоя.
  • prerender (RenderEvent) — вызывается перед отображением слоя.
  • propertychange (ObjectEvent) — вызывается при изменении свойства.
  • sourceready (BaseEvent)

Подклассы

  • Graticule

Наследует

  • BaseVectorLayer

Наблюдаемые свойства

Имя Тип Можно задать Тип ObjectEvent Описание
extent Extent | undefined да change:extent

Границы слоя.

maxResolution number да change:maxresolution

Максимальное разрешение слоя.

maxZoom number да change:maxzoom

Максимальный уровень масштабирования слоя.

minResolution number да change:minresolution

Минимальное разрешение слоя.

minZoom number да change:minzoom

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

opacity number да change:opacity

Непрозрачность слоя.

source SourceType | null да change:source

Источник слоя (или null, если он еще не задан).

visible boolean да change:visible

Значение свойства visible слоя.

zIndex number | undefined да change:zindex

Z-индекс слоя.

Методы

changed() унаследовано

Observable.js, строка 68

Увеличивает счётчик ревизии и отправляет событие 'change'.

dispatchEvent(event){boolean | undefined} унаследовано

events/Target.js, строка 85

Отправляет событие и вызывает все обработчики, ожидающие события этого типа. Параметр event может быть строкой или объектом со свойством type.

Имя Тип Описание
event BaseEvent | string

Объект события.

Возвращает:
false, если кто-либо вызвал preventDefault для объекта события или если какой-либо обработчик вернул false.

get(key){*} унаследовано

Object.js, строка 136

Получает значение.

Имя Тип Описание
key string

Имя ключа.

Возвращает:
Значение.

getAttributions(view){Array.<string>} унаследовано

layer/Layer.js, строка 349

Получает атрибуцию источника этого слоя для указанного вида.

Имя Тип Описание
view View | ViewStateLayerStateExtent | undefined

Вид или FrameState. Требуется только в том случае, если слой не добавлен на карту.

Возвращает:
Атрибуция этого слоя для указанного вида.

getExtent(){Extent | undefined} унаследовано

layer/Base.js, строка 210

Возвращает extent слоя или undefined, если он будет виден независимо от экстента.

Возвращает:
Экстент слоя.

getFeatures(pixel){Promise<Array<FeatureLike>>} унаследовано

layer/BaseVector.js, строка 175

Получает верхний объект, пересекающийся с указанным пикселем в области просмотра. Возвращает promise, который разрешается массивом объектов. Если пересечение обнаружено, массив содержит верхний объект; в противном случае он будет пустым.

Алгоритм обнаружения пересечений, используемый этим методом, оптимизирован для повышения производительности, но менее точен, чем алгоритм метода map.getFeaturesAtPixel(). Текст не учитывается, а значки представлены ограничивающей рамкой, а не точным изображением.

Имя Тип Описание
pixel Pixel

Пиксель.

Возвращает:
Promise, который разрешается массивом объектов.

getKeys(){Array.<string>} унаследовано

Object.js, строка 149

Получает список имён свойств объекта.

Возвращает:
Список имён свойств.

getMaxResolution(){number} унаследовано

layer/Base.js, строка 223

Возвращает максимальное разрешение слоя. Если для слоя не задано максимальное разрешение, возвращает Infinity.

Возвращает:
Максимальное разрешение слоя.

getMaxZoom(){number} унаследовано

layer/Base.js, строка 256

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

Возвращает:
Максимальный уровень масштабирования слоя.

getMinResolution(){number} унаследовано

layer/Base.js, строка 234

Возвращает минимальное разрешение слоя. Если для слоя не задано минимальное разрешение, возвращает 0.

Возвращает:
Минимальное разрешение слоя.

getMinZoom(){number} унаследовано

layer/Base.js, строка 245

Возвращает минимальный уровень масштабирования слоя. Если для слоя не задан минимальный уровень масштабирования, возвращает -Infinity.

Возвращает:
Минимальный уровень масштабирования слоя.

getOpacity(){number} унаследовано

layer/Base.js, строка 266

Возвращает прозрачность слоя (от 0 до 1).

Возвращает:
Прозрачность слоя.

getProperties(){NoInfer.<Properties>} унаследовано

Object.js, строка 158

Получает объект со всеми именами и значениями свойств.

Возвращает:
Объект.

getRevision(){number} унаследовано

Observable.js, строка 79

Получает номер версии этого объекта. При каждом изменении объекта его номер версии увеличивается.

Возвращает:
Ревизия.

getSource(){SourceType | null} унаследовано

layer/Layer.js, строка 214

Получает источник слоя.

Возвращает:
Источник слоя (или null, если он ещё не задан).

getStyle(){StyleLike | FlatStyleLike | null | undefined} унаследовано

layer/BaseVector.js, строка 201

Получает стиль объектов. Возвращает значение, переданное параметру style при создании или методу setStyle.

Возвращает:
Стиль слоя.

getStyleFunction(){StyleFunction | undefined} унаследовано

layer/BaseVector.js, строка 210

Получает функцию стиля.

Возвращает:
Функция стиля слоя.

getVisible(){boolean} унаследовано

layer/Base.js, строка 285

Возвращает значение свойства visible этого слоя. Чтобы узнать, виден ли слой на карте, используйте вместо этого isVisible().

Возвращает:
Значение свойства visible слоя.

getZIndex(){number | undefined} унаследовано

layer/Base.js, строка 296

Возвращает Z-индекс слоя, который используется для упорядочивания слоёв перед отрисовкой. Возвращает undefined, если слой не управляется.

Возвращает:
Z-индекс слоя.

isVisible(view){boolean} унаследовано

layer/Layer.js, строка 305

Слой виден в области просмотра карты, то есть находится в пределах минимального/максимального разрешения, уровня масштабирования и экстента, не имеет значения visible: false и не входит в группу слоёв, для которой задано значение visible: false.

Имя Тип Описание
view View | ViewStateLayerStateExtent | undefined

Вид или FrameState. Требуется только в том случае, если слой не добавлен на карту.

Возвращает:
Видимость слоя в области просмотра карты.

on(type, listener){EventsKey | Array<EventsKey>} унаследовано

Observable.js, строка 152

Ожидает событие указанного типа.

Имя Тип Описание
type string | Array.<string>

Тип события или массив типов событий.

listener function

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

Возвращает:
Уникальный ключ обработчика. Если в первом аргументе передан массив типов событий, будет возвращён массив ключей.

once(type, listener){EventsKey | Array<EventsKey>} унаследовано

Observable.js, строка 164

Однократно ожидает событие указанного типа.

Имя Тип Описание
type string | Array.<string>

Тип события или массив типов событий.

listener function

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

Возвращает:
Уникальный ключ обработчика. Если в первом аргументе передан массив типов событий, будет возвращён массив ключей.

set(key, value, silent) унаследовано

Object.js, строка 218

Задаёт значение.

Имя Тип Описание
key string

Имя ключа.

value *

Значение.

silent boolean | undefined

Обновить без вызова события.

setDeclutter(declutter) унаследовано

layer/BaseVector.js, строка 285
Имя Тип Описание
declutter boolean | string | number

Устранять наложение изображений и текста.

setExtent(extent) унаследовано

layer/Base.js, строка 316

Задаёт экстент, в пределах которого слой виден. Если значение равно undefined, слой будет виден при любом экстенте.

Имя Тип Описание
extent Extent | undefined

Экстент слоя.

setMap(map) унаследовано

layer/Layer.js, строка 444

Устанавливает слой для отрисовки поверх других слоёв на карте. Карта не будет управлять этим слоем в своей коллекции слоёв. Это удобно для временных слоёв. Чтобы удалить неуправляемый слой с карты, используйте #setMap(null).

Чтобы добавить слой на карту и передать управление им карте, используйте вместо этого addLayer.

Имя Тип Описание
map Map | null

Карта.

setMaxResolution(maxResolution) унаследовано

layer/Base.js, строка 326

Задаёт максимальное разрешение, при котором слой виден.

Имя Тип Описание
maxResolution number

Максимальное разрешение слоя.

setMaxZoom(maxZoom) унаследовано

layer/Base.js, строка 348

Задаёт максимальный уровень масштабирования (не включая его), при котором слой виден. Обратите внимание: уровни масштабирования, определяющие видимость слоя, основаны на уровне масштабирования вида, который может отличаться от уровня масштабирования источника тайлов.

Имя Тип Описание
maxZoom number

Максимальный уровень масштабирования слоя.

setMinResolution(minResolution) унаследовано

layer/Base.js, строка 336

Задаёт минимальное разрешение, при котором слой виден.

Имя Тип Описание
minResolution number

Минимальное разрешение слоя.

setMinZoom(minZoom) унаследовано

layer/Base.js, строка 360

Задаёт минимальный уровень масштабирования (включая его), при котором слой виден. Обратите внимание: уровни масштабирования, определяющие видимость слоя, основаны на уровне масштабирования вида, который может отличаться от уровня масштабирования источника тайлов.

Имя Тип Описание
minZoom number

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

setOpacity(opacity) унаследовано

layer/Base.js, строка 370

Задаёт прозрачность слоя; допустимые значения — от 0 до 1.

Имя Тип Описание
opacity number

Прозрачность слоя.

setProperties(values, silent) унаследовано

Object.js, строка 238

Задаёт набор пар «ключ-значение». Обратите внимание, что это изменяет существующие свойства и добавляет новые (но не удаляет существующие свойства).

Имя Тип Описание
values Partial.<NoInfer.<Properties>>

Значения.

silent boolean | undefined

Обновить без вызова события.

setSource(source) унаследовано

layer/Layer.js, line 492

Задаёт источник слоя.

Имя Тип Описание
source SourceType | null

Источник слоя.

setStyle(style) унаследовано

layer/BaseVector.js, line 273

Задаёт стиль для объектов. Это может быть один объект стиля, массив стилей или функция, принимающая объект и разрешение и возвращающая массив стилей. Если задать null, слой не будет иметь стиля (стиль null), поэтому в слое будут отображаться только объекты с собственными стилями. Вызовите setStyle() без аргументов, чтобы восстановить стиль по умолчанию. Сведения о стиле по умолчанию см. в разделе the ol/style/Style module.

Если у слоя статический стиль, вместо конструкторов Style и символизаторов (Fill, Stroke и т. д.) можно использовать литералы объектов flat style:

vectorLayer.setStyle({
  "fill-color": "yellow",
  "stroke-color": "black",
  "stroke-width": 4
})
Имя Тип Описание
style StyleLike | FlatStyleLike | null | undefined

Стиль слоя.

setVisible(visible) унаследовано

layer/Base.js, line 381

Задаёт видимость слоя (true или false).

Имя Тип Описание
visible boolean

Видимость слоя.

setZIndex(zindex) унаследовано

layer/Base.js, line 392

Задаёт Z-индекс слоя, который используется для упорядочения слоёв перед отрисовкой. Z-индекс по умолчанию равен 0.

Имя Тип Описание
zindex number

Z-индекс слоя.

un(type, listener) унаследовано

Observable.js, line 173

Отменяет прослушивание события указанного типа.

Имя Тип Описание
type string | Array.<string>

Тип события или массив типов событий.

listener function

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

unset(key, silent) унаследовано

Object.js, line 262

Удаляет свойство.

Имя Тип Описание
key string

Имя ключа.

silent boolean | undefined

Удалить без вызова события.

© 2005-present, OpenLayers Contributors All rights reserved.Licensed under the BSD 2-Clause License.
https://openlayers.org/en/latest/apidoc/module-ol_layer_Vector-VectorLayer.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API