Class: 要素

ol/要素~要素


import 要素 from 'ol/要素.js';

具有几何图形和其他属性属性的地理要素矢量对象,类似于 GeoJSON 等矢量文件格式中的要素。

要素可以通过 setStyle 单独设置样式;否则使用其矢量图层的样式。

请注意,属性属性是作为 BaseObject 属性设置在要素对象上的,因此它们是可观察的,并具有 get/set 访问器。

通常,一个要素只有一个几何属性。可以使用 setGeometry 方法设置几何图形,使用 getGeometry 获取几何图形。也可以通过属性属性在要素上存储多个几何图形。默认情况下,用于渲染的几何图形由属性名 geometry 标识。如果要使用其他几何属性进行渲染,可以使用 setGeometryName 方法更改与要素几何图形关联的属性属性。例如:


import 要素 from 'ol/要素.js';
import Polygon from 'ol/geom/Polygon。js';
import Point from 'ol/geom/Point.js';

const feature = new 要素({
  geometry: new Polygon(polyCoords),
  labelPoint: new Point(labelCoords),
  name: 'My Polygon',
});

// get the polygon geometry
const poly = feature.getGeometry();

// Render the feature as a point using the coordinates from labelPoint
feature.setGeometryName('labelPoint');

// get the point geometry
const point = feature.getGeometry();

new 要素(geometryOrProperties)

Name Type Description
geometryOrProperties Geometry | ObjectWithGeometry<Geometry, NoInfer.<Properties>> | undefined

可以直接传递 Geometry 对象,或包含属性的对象字面量。如果传递对象字面量,可以包含与 geometry 键关联的 Geometry。

触发事件:

Extends

Observable Properties

Name Type Settable ObjectEvent type Description
geometry Geometry | undefined yes change:geometry

要素的默认几何图形。

Methods

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

clone(){要素<Geometry>}

克隆此要素。如果原始要素有几何图形,该几何图形也会被克隆。克隆的要素不会设置 id。

返回值:
克隆的要素。

dispatchEvent(event){boolean | undefined} inherited

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

Name Type Description
event BaseEvent | string

事件对象。

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

获取一个值。

Name Type Description
key string

键名。

返回值:
值。

getGeometry(){Geometry | undefined}

获取要素的默认几何图形。一个要素可以有任意数量的命名几何图形。"默认"几何图形(默认渲染的那个)是在调用 setGeometry 时设置的。

返回值:
要素的默认几何图形。

getGeometryName(){string}

获取要素默认几何图形的名称。默认情况下,默认几何图形名为 geometry

返回值:
获取与此要素默认几何图形关联的属性名称。

getId(){number | string | undefined}

获取要素标识符。这是要素的稳定标识符,在从远程数据源读取数据时设置,或通过调用 setId 显式设置。

返回值:
标识符。

getKeys(){Array.<string>} inherited

获取对象属性名列表。

返回值:
属性名称列表。

getProperties(){NoInfer.<Properties>} inherited

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

返回值:
对象。

getRevision(){number} inherited

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

返回值:
修订版本号。

getStyle(){StyleLike | undefined}

获取要素的样式。将返回提供给 setStyle 方法的值。

返回值:
要素样式。

getStyle函数(){Style函数 | undefined}

获取要素的样式函数。

返回值:
返回表示此要素当前样式的函数。

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

更新但不触发事件。

setGeometry(geometry)

设置要素的默认几何图形。这将更新由 getGeometryName 返回的名称对应的属性。

Name Type Description
geometry Geometry | undefined

新的几何图形。

setGeometryName(name)

设置获取要素默认几何图形时使用的属性名称。当调用 getGeometry 时,将返回具有此名称的属性的值。

Name Type Description
name string

默认几何图形的属性名称。

setId(id)

设置要素 id。要素 id 被认为是稳定的,可用于请求要素或比较从远程数据源返回的标识符。要素 id 可与 get要素ById 方法一起使用。

Name Type Description
id number | string | undefined

要素 id。

触发事件:
  • change (BaseEvent) - 通用更改事件。当修订计数器增加时触发。

setProperties(values, silent) inherited

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

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

值。

silent boolean | undefined

更新但不触发事件。

setStyle(style)

设置要素的样式以覆盖图层样式。可以是单个样式对象、样式数组,或接受分辨率并返回样式数组的函数。要取消设置要素样式,调用 setStyle() 不带参数或传入假值。

Name Type Description
style StyleLike | undefined

此要素的样式。

触发事件:
  • change (BaseEvent) - 通用更改事件。当修订计数器增加时触发。

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

取消设置但不触发事件。