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 предполагается индекс Z, равный 0, для слоев, добавленных в коллекцию layers карты, или Infinity, если использовался метод setMap() слоя.

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 число да change:maxresolution

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

maxZoom число да change:maxzoom

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

minResolution число да change:minresolution

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

minZoom число да change:minzoom

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

opacity число да change:opacity

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

source SourceType | null да change:source

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

visible логическое да change:visible

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

zIndex число | undefined да change:zindex

Индекс Z слоя.

Методы

changed() inherited

Observable.js, line 68

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

dispatchEvent(event){boolean | undefined} inherited

events/Target.js, line 85

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

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

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

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

get(key){*} inherited

Object.js, line 135

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

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

Имя ключа.

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

getAttributions(view){Array.<string>} inherited

layer/Layer.js, line 345

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

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

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

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

getExtent(){Extent | undefined} inherited

layer/Base.js, line 207

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

Возвращает:
Область слоя.

getFeatures(pixel){Promise<Array<FeatureLike>>} inherited

layer/BaseVector.js, line 178

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

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

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

Пиксел.

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

getKeys(){Array.<string>} inherited

Object.js, line 148

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

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

getMaxResolution(){number} inherited

layer/Base.js, line 220

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

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

getMaxZoom(){number} inherited

layer/Base.js, line 253

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

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

getMinResolution(){number} inherited

layer/Base.js, line 231

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

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

getMinZoom(){number} inherited

layer/Base.js, line 242

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

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

getOpacity(){number} inherited

layer/Base.js, line 263

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

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

getProperties(){Object.<string, *>} inherited

Object.js, line 157

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

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

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

Observable.js, строка 79

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

Возвращает:
Номер версии.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Слой виден на представлении карты, т.е. в пределах своего минимального/максимального разрешения или масштаба и области, не задан как 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, строка 215

Устанавливает значение.

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

Имя ключа.

value *

Значение.

silent boolean | undefined

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

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

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

Сгруппировать изображения и текст.

setExtent(extent) inherited

layer/Base.js, line 313

Установите область, в которой слой виден. Если undefined, слой будет виден во всех областях.

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

Область видимости слоя.

setMap(map) inherited

layer/Layer.js, line 440

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

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

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

Карта.

setMaxResolution(maxResolution) inherited

layer/Base.js, line 323

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

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

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

setMaxZoom(maxZoom) inherited

layer/Base.js, line 345

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

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

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

setMinResolution(minResolution) inherited

layer/Base.js, line 333

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

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

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

setMinZoom(minZoom) inherited

layer/Base.js, line 357

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

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

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

setOpacity(opacity) inherited

layer/Base.js, line 367

Установите непрозрачность слоя, допустимые значения находятся в диапазоне от 0 до 1.

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

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

setProperties(values, silent) inherited

Object.js, line 235

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

Имя Тип Описание
values Object.<string, *>

Значения.

silent boolean | undefined

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

setSource(source) inherited

layer/Layer.js, line 488

Установите источник слоя.

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

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

setStyle(style) inherited

layer/BaseVector.js, line 276

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

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

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

Стиль слоя.

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

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

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

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

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

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

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

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

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

Индекс Z слоя.

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

Observable.js, строка 173

Отписаться от определённого типа события.

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

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

listener function

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

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

Object.js, строка 259

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

Имя Тип Описание
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