类:矢量图像图层

ol/layer/VectorImage~矢量图像图层


import VectorImageLayer from 'ol/layer/VectorImage.js';

矢量数据在客户端渲染为图像。该图层类型在平移和缩放过程中性能卓越,但点符号和文本会始终随视图旋转,且在缩放动画期间像素会被缩放。如需更精确地渲染矢量数据,请改用 VectorLayer

请注意,在选项中设置的任何属性都将作为 BaseObject 属性被设置到图层对象上;例如,设置 title: 'My Title' 即表示 title 是可观察的,并具备 get/set 访问器。

new VectorImageLayer(options)

Name Type 描述
className string (defaults to 'ol-layer')

设置图层元素的CSS类名。

opacity number (defaults to 1)

不透明度(0到1)。

visible boolean (defaults to true)

可见.

extent Extent | undefined

图层渲染的边界范围。图层不会在此范围之外渲染。

zIndex number | undefined

用于图层渲染的 z 索引。渲染时,图层首先按 z 索引排序,然后按位置排序。当undefined, a zIndex添加到地图的图层,其值默认为0。layers集合,或Infinity当图层的setMap()采用了该方法。

minResolution number | undefined

该图层可见的最小分辨率(包含)。

maxResolution number | undefined

最大分辨率(不含),低于此分辨率时图层可见。

minZoom number | undefined

图层可见的最小视图缩放级别(不包含)。

maxZoom number | undefined

该图层可见的最大视图缩放级别(包含)。

renderOrder OrderFunction | undefined

渲染顺序。用于在渲染前对要素排序的函数。默认情况下,要素按创建顺序绘制。使用null为避免排序,但得到未定义的绘制顺序。

renderBuffer number (defaults to 100)

渲染器在从矢量数据源获取要素以进行渲染或命中检测时,会在视口范围周围使用一个像素缓冲区。推荐值:最大符号、线宽或标签的尺寸。

source VectorSourceType | undefined

数据源.

map Map | undefined

将图层设为地图的叠加层。地图不会在其图层集合中管理此图层,且该图层将渲染于顶层。这适用于临时图层。将图层添加到地图并由地图管理的标准方法是使用map.addLayer().

declutter boolean | string | number (defaults to false)

启用该图层上的图像和文本去重。任意真值均可启用去重。优先级由……定义。zIndex要素的样式和渲染顺序。z-index 越高,优先级越高。在 z-index 相同的情况下,先渲染的要素优先级更高。要素不会与具有相同 z-index 的其他层上的要素一起进行去 clutter 处理。declutter值。如果需要,请使用。VectorLayer反而。

style StyleLike | FlatStyleLike | null | undefined

图层样式。当设置为null,只有具有独立样式的要素才会被渲染。参见Style若未指定,则使用默认样式。

background BackgroundColor | undefined

图层背景色。若未指定,则不渲染背景。

imageRatio number (defaults to 1)

渲染范围与视口范围的比例应较大。较高的比例可避免平移过程中的图像裁剪,但会降低性能。

properties Object.<string, *> | undefined

任意可观测属性。可通过以下方式访问#get()#set().

触发事件:

继承

可观察属性

Name Type 可设置 ObjectEvent type 描述
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-index。

方法

递增修订计数器并触发“change”事件。

dispatchEvent(event){boolean | undefined} inherited

触发事件并调用所有监听此类型事件的监听器。事件参数可以是字符串,也可以是具有 type 属性的对象。

Name Type 描述
event BaseEvent | string

事件对象。

返回:
false 如果事件对象上被调用了 preventDefault,或者任何监听器返回了 false。

获取一个值。

Name Type 描述
key string

键名。

返回:
值。

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

获取给定视图中该图层源的归属信息。

Name Type 描述
view View | ViewStateLayerStateExtent | undefined

查看或FrameState。仅当图层未添加到地图时才需要。

返回:
在给定视图中,该图层的版权信息。

getExtent(){Extent | undefined} inherited

若图层在任何范围下均可见,则返回其 extentundefined

返回:
图层范围。

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

获取与视口上给定像素相交的最顶层要素。返回一个Promise,解析为要素数组。当检测到命中时,数组包含最顶层要素;否则为空。

该命中检测算法为性能优化,但准确性低于 map.getFeaturesAtPixel() 中的算法。文本元素被忽略,图标仅以其边界框表示,而非精确图像。

Name Type 描述
pixel Pixel

像素.

返回:
解析为要素数组的Promise。

getKeys(){Array.<string>} inherited

获取对象属性名称的列表。

返回:
属性名称列表

getMaxResolution(){number} inherited

返回图层的最大分辨率。若图层未设置最大分辨率,则返回无穷大。

返回:
图层的最大分辨率。

getMaxZoom(){number} inherited

返回图层的最大缩放级别。如果图层未设置最大缩放级别,则返回 Infinity。

返回:
图层的最大缩放级别。

getMinResolution(){number} inherited

返回图层的最小分辨率。若图层未设置最小分辨率,则返回 0。

返回:
图层的最小分辨率。

getMinZoom(){number} inherited

返回图层的最小缩放级别。若图层未设置最小缩放级别,则返回 -Infinity。

返回:
图层的最小缩放级别。

getOpacity(){number} inherited

返回图层的不透明度(值在0到1之间)。

返回:
图层的不透明度。

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

获取包含所有属性名和值的对象。

返回:
对象。

getRevision(){number} inherited

获取此对象的版本号。每当对象被修改时,其版本号会自动递增。

返回:
修订。

getSource(){SourceType | null} inherited

获取图层源。

返回:
图层源(若未设置,则为 null)。

getStyle(){StyleLike | FlatStyleLike | null | undefined} inherited

获取要素的样式。此方法返回在构造时通过 style 选项或 setStyle 方法传递的所有样式。

返回:
图层样式。

getStyleFunction(){StyleFunction | undefined} inherited

获取样式函数。

返回:
图层样式函数

getVisible(){boolean} inherited

返回该图层 visible 属性的值。若要判断图层在地图上是否可见,请改用 isVisible()

返回:
图层中 visible 属性的值。

getZIndex(){number | undefined} inherited

返回图层的 Z 索引,用于在渲染前对图层进行排序;若图层未托管,则返回 undefined。

返回:
图层的 Z 索引。

isVisible(view){boolean} inherited

图层在地图视图中可见,需同时满足:处于其最小/最大分辨率、缩放级别及范围内,未设置为 visible: false,且不属于设置为 visible: false 的图层组。

Name Type 描述
view View | ViewStateLayerStateExtent | undefined

视图或FrameState仅当图层未添加到地图时才需要。

返回:
图层在地图视图中可见。

on(type, listener){EventsKey | Array<EventsKey>} inherited

监听特定类型的事件。

Name Type 描述
type string | Array.<string>

事件类型或事件类型数组。

listener function

监听器函数

返回:
监听器的唯一键。若以事件类型数组作为第一个参数调用,则返回将是键数组。

once(type, listener){EventsKey | Array<EventsKey>} inherited

一次性监听特定类型的事件。

Name Type 描述
type string | Array.<string>

事件类型或事件类型数组。

listener function

监听器函数

返回:
监听器的唯一键。若以事件类型数组作为首个参数调用,则返回值为键的数组。

set(key, value, silent) inherited

设置值。

Name Type 描述
key string

键名。

value *

值。

silent boolean | undefined

在不触发事件的前提下更新。

setDeclutter(declutter) inherited

Name Type 描述
declutter boolean | string | number

清理图像和文本。

setExtent(extent) inherited

设置图层的可见范围。若 undefined,则图层在所有范围内均可见。

Name Type 描述
extent Extent | undefined

图层的范围。

设置要在地图其他图层之上渲染的图层。地图不会在其图层集合中管理此图层。这对临时图层非常有用。要从地图中移除非托管图层,请使用 #setMap(null)

要将图层添加到地图并受其管理,请改用 addLayer

Name Type 描述
map Map | null

地图.

setMaxResolution(maxResolution) inherited

设置图层可见的最大分辨率。

Name Type 描述
maxResolution number

图层的最大分辨率。

setMaxZoom(maxZoom) inherited

设置图层可见的最大缩放级别( exclusive)。请注意,图层可见性的缩放级别基于视图缩放级别,而视图缩放级别可能与图块源缩放级别不同。

Name Type 描述
maxZoom number

图层的最大缩放级别。

setMinResolution(minResolution) inherited

设置图层的最小可见分辨率。

Name Type 描述
minResolution number

图层的最小分辨率。

setMinZoom(minZoom) inherited

设置图层可见的最小缩放级别(包含)。请注意,图层可见的缩放级别基于视图缩放级别,而视图缩放级别可能与瓦片源缩放级别不同。

Name Type 描述
minZoom number

图层的最小缩放级别。

setOpacity(opacity) inherited

设置图层的不透明度,取值范围为 0 到 1。

Name Type 描述
opacity number

图层的不透明度。

setProperties(values, silent) inherited

设置键值对集合。注意,此操作将修改现有属性并添加新属性,但不会删除任何现有属性。

Name Type 描述
values Object.<string, *>

值。

silent boolean | undefined

更新而不触发事件。

setSource(source) inherited

配置图层源。

Name Type 描述
source SourceType | null

图层源

设置要素的样式。这可以是一个样式对象、一个样式数组,或是一个接收要素和分辨率并返回样式数组的函数。如果设置为 null,则该图层没有样式(即 null 样式),因此只有具有自身样式的要素才会在该图层中渲染。调用不带参数的 setStyle() 可重置为默认样式。有关默认样式的详细信息,请参阅 the ol/style/Style module

若图层采用静态样式,可使用 flat style 对象字面量,替代 Style 及样式构造函数(如 FillStroke 等):

vectorLayer.setStyle({
  "fill-color": "yellow",
  "stroke-color": "black",
  "stroke-width": 4
})
Name Type 描述
style StyleLike | FlatStyleLike | null | undefined

图层样式。

setVisible(visible) inherited

设置图层的可见性(truefalse)。

Name Type 描述
visible boolean

图层的可见性。

setZIndex(zindex) inherited

设置图层的Z索引,用于在渲染前对图层进行排序。默认Z索引为0。

Name Type 描述
zindex number

图层的z-index。

un(type, listener) inherited

取消监听特定类型的事件。

Name Type 描述
type string | Array.<string>

事件类型或事件类型数组。

listener function

监听器函数。

unset(key, silent) inherited

清除属性。

Name Type 描述
key string

键名。

silent boolean | undefined

取消设置而不触发事件。