类:要素

ol/Feature~要素


import Feature from 'ol/Feature.js';

一个包含几何形状及其他属性信息的地理要素矢量对象,其概念类似于 GeoJSON 等矢量文件格式中的要素。

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

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

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


import Feature from 'ol/Feature.js';
import Polygon from 'ol/geom/Polygon.js';
import Point from 'ol/geom/Point.js';

const feature = new Feature({
  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 Feature(geometryOrProperties)

Name Type 描述
geometryOrProperties Geometry | ObjectWithGeometry.<Geometry> | undefined

您可以直接传递一个几何对象,也可以传递一个包含属性的对象字面量。如果您传递对象字面量,则可以包含一个关联的几何对象。geometry键。

触发事件:

继承

可观察属性

Name Type 可设置 ObjectEvent type 描述
geometry Geometry | undefined 是的 change:geometry

要素的默认几何。

方法

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

clone(){Feature<Geometry>}

克隆此要素。若原始要素包含几何,则其几何也会被克隆。克隆的要素ID未被设置。

返回:
克隆。

dispatchEvent(event){boolean | undefined} inherited

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

Name Type 描述
event BaseEvent | string

事件对象。

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

获取值。

Name Type 描述
key string

键名。

返回:
值。

getGeometry(){Geometry | undefined}

获取要素的默认几何。要素可拥有任意数量的命名几何。默认几何(即默认渲染的几何)在调用 setGeometry 时设置。

返回:
要素的默认几何。

getGeometryName(){string}

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

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

getId(){number | string | undefined}

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

返回:
ID。

getKeys(){Array.<string>} inherited

获取对象属性名称列表。

返回:
属性名称列表。

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

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

返回:
对象。

getRevision(){number} inherited

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

返回:
修订

getStyle(){StyleLike | undefined}

获取要素的样式。将返回传递给 setStyle 方法的内容。

返回:
要素样式。

getStyleFunction(){StyleFunction | undefined}

获取要素的样式函数。

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

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

在不触发事件的情况下更新。

setGeometry(geometry)

设置要素的默认几何。这将使用 getGeometryName 返回的名称来更新属性。

Name Type 描述
geometry Geometry | undefined

新的几何。

setGeometryName(name)

指定用于获取要素默认几何的属性名称。调用 getGeometry 时,将返回该属性名称对应的值。

Name Type 描述
name string

默认几何的属性名称

setId(id)

设置要素 ID。要素 ID 被视为稳定的,可在请求要素或比较从远程源返回的标识符时使用。要素 ID 可与 getFeatureById 方法一起使用。

Name Type 描述
id number | string | undefined

要素 ID。

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

setProperties(values, silent) inherited

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

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

值。

silent boolean | undefined

无事件触发的更新。

setStyle(style)

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

Name Type 描述
style StyleLike | undefined

此要素的样式。

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

un(type, listener) inherited

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

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

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

listener function

监听器函数。

unset(key, silent) inherited

清除属性。

Name Type 描述
key string

键名。

silent boolean | undefined

取消设置且不触发事件。