Class: Layer

ol/layer/Layer~Layer


import Layer from 'ol/layer/Layer.js';

所有图层类型的基类。仅在将自定义图层以自定义 render 函数添加到地图时才应实例化。此函数可以在 options 对象中指定,预期返回 HTML 元素。

栅格或矢量地图数据的可视化表示。图层将有关数据如何显示的属性组合在一起,而不管数据的来源。

图层通常通过 map.addLayer() 添加到地图中。像 Draw 这样的组件内部使用非管理图层。这些非管理图层通过 layer.setMap() 关联到地图。

当数据源状态改变时触发通用 change 事件。当图层数据源准备就绪时触发 sourceready 事件。

new Layer(options)

Name Type Description
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-index。在渲染时,图层将按 Z-index 排序,然后按位置排序。当 undefined 时,添加到地图 layers 集合的图层假定 zIndex 为 0,或使用图层 setMap() 方法时为 Infinity

minResolution number | undefined

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

maxResolution number | undefined

此图层可见的最大分辨率(不含)。

minZoom number | undefined

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

maxZoom number | undefined

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

source SourceType | undefined

此图层的数据源。如果未在构造函数中提供,可以在构造后通过调用 layer.setSource(source) 设置数据源。

map Map | null | undefined

地图。

render Render函数 | undefined

渲染函数。以帧状态作为输入,预期返回 HTML 元素。将覆盖图层的默认渲染。

properties Properties | undefined

任意可观察属性。可通过 #get()#set() 访问。

触发事件:

Subclasses

Extends

Observable Properties

Name Type Settable ObjectEvent type Description
extent Extent | undefined yes change:extent

图层范围。

maxResolution number yes change:maxresolution

图层的最大分辨率。

maxZoom number yes change:maxzoom

图层的最大缩放级别。

minResolution number yes change:minresolution

图层的最小分辨率。

minZoom number yes change:minzoom

图层的最小缩放级别。

opacity number yes change:opacity

图层的不透明度。

source SourceType | null yes change:source

图层数据源(如果尚未设置则为 null)。

visible boolean yes change:visible

图层 visible 属性的值。

zIndex number | undefined yes change:zindex

图层的 Z-index。

Methods

增加修订计数器并分发 'change' 事件。

dispatchEvent(event){boolean | undefined} inherited

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

Name Type Description
event BaseEvent | string

事件对象。

返回值:
如果有人在事件对象上调用了 preventDefault 或任何监听器返回 false,则返回 false

获取一个值。

Name Type Description
key string

键名。

返回值:
值。

getAttributions(view){Array.<string>}

获取此图层数据源在给定视图下的归属信息。

Name Type Description
view View | ViewStateLayerStateExtent | undefined

View 或 FrameState。仅在图层未添加到地图时需要。

返回值:
此图层在给定视图下的归属信息。

getExtent(){Extent | undefined} inherited

返回图层的 范围,如果无论范围如何都可见则返回 undefined

返回值:
图层范围。

getKeys(){Array.<string>} inherited

获取对象属性名列表。

返回值:
属性名列表。

getMaxResolution(){number} inherited

返回图层的最大分辨率。如果图层未设置最大分辨率则返回 Infinity。

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

getMaxZoom(){number} inherited

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

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

getMinResolution(){number} inherited

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

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

getMinZoom(){number} inherited

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

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

getOpacity(){number} inherited

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

返回值:
图层的不透明度。

getProperties(){NoInfer.<Properties>} inherited

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

返回值:
对象。

getRevision(){number} inherited

获取此对象的版本号。 每次对象被修改时,其版本号将递增。

返回值:
版本号。

getSource(){SourceType | null}

获取图层数据源。

返回值:
图层数据源(如果尚未设置则为 null)。

getVisible(){boolean} inherited

返回此图层 visible 属性的值。要确定图层在地图上是否可见,请改用 isVisible()

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

getZIndex(){number | undefined} inherited

返回图层的 Z-index,用于在渲染前排列图层顺序。如果图层未管理则返回 undefined。

返回值:
图层的 Z-index。

isVisible(view){boolean}

图层在地图视图中可见,即在其最小/最大分辨率或缩放级别和范围内,未设置为 visible: false,且不在设置为 visible: false 的图层组内。

Name Type Description
view View | ViewStateLayerStateExtent | undefined

View 或 FrameState。仅在图层未添加到地图时需要。

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

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

监听特定类型的事件。

Name Type Description
type string | Array.<string>

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

listener function

监听器函数。

返回值:
监听器的唯一键。如果第一个参数是事件类型数组,则返回键的数组。

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

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

Name Type Description
type string | Array.<string>

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

listener function

监听器函数。

返回值:
监听器的唯一键。如果第一个参数是事件类型数组,则返回键的数组。

set(key, value, silent) inherited

设置一个值。

Name Type Description
key string

键名。

value *

值。

silent boolean | undefined

更新但不触发事件。

setExtent(extent) inherited

设置图层可见的范围。如果为 undefined,图层在所有范围中都可见。

Name Type Description
extent Extent | undefined

图层的范围。

setMap(map)

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

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

Name Type Description
map Map | null

地图。

setMaxResolution(maxResolution) inherited

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

Name Type Description
maxResolution number

图层的最大分辨率。

setMaxZoom(maxZoom) inherited

设置图层可见的最大缩放(不含)。注意,图层可见性的缩放级别基于视图缩放级别,这可能与瓦片数据源的缩放级别不同。

Name Type Description
maxZoom number

图层的最大缩放。

setMinResolution(minResolution) inherited

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

Name Type Description
minResolution number

图层的最小分辨率。

setMinZoom(minZoom) inherited

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

Name Type Description
minZoom number

图层的最小缩放。

setOpacity(opacity) inherited

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

Name Type Description
opacity number

图层的不透明度。

setProperties(values, silent) inherited

设置一组键值对。 注意,这会更改任何现有属性并添加新属性(不会移除任何现有属性)。

Name Type Description
values Partial.<NoInfer.<Properties>>

值。

silent boolean | undefined

更新但不触发事件。

setSource(source)

设置图层数据源。

Name Type Description
source SourceType | null

图层数据源。

setVisible(visible) inherited

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

Name Type Description
visible boolean

图层的可见性。

setZIndex(zindex) inherited

设置图层的 Z-index,用于在渲染前排列图层顺序。 默认 Z-index 为 0。

Name Type Description
zindex number

图层的 z-index。

un(type, listener) inherited

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

Name Type Description
type string | Array.<string>

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

listener function

监听器函数。

unset(key, silent) inherited

取消设置一个属性。

Name Type Description
key string

键名。

silent boolean | undefined

取消设置但不触发事件。