Atlaslog
Atlaslog / OpenLayers / API / Feature
OpenLayers · API reference

Feature

Quick answer

Increases the revision counter and dispatches a 'change' event.

Last verified 2026-11-03 · OpenLayers 10.3.1 · Cite this page
Runnable examplesChinese noteAll API topics

new Feature(geometryOrProperties)

Feature.js, line 78
Name Type Description
geometryOrProperties Geometry | ObjectWithGeometry.<Geometry, NoInfer.<Properties>> | undefined

You may pass a Geometry object directly, or an object literal containing properties. If you pass an object literal, you may include a Geometry associated with a geometry key.

Fires:
  • change (BaseEvent) - Generic change event. Triggered when the revision counter is increased.
  • change:geometry (ObjectEvent)
  • error (BaseEvent) - Generic error event. Triggered when an error occurs.
  • propertychange (ObjectEvent) - Triggered when a property is changed.

Extends

Observable Properties

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

The default geometry for the feature.

Methods

changed() inherited

Observable.js, line 72

Increases the revision counter and dispatches a 'change' event.

clone(){Feature<Geometry>}

Feature.js, line 158

Clone this feature. If the original feature has a geometry it is also cloned. The feature id is not set in the clone.

Returns:
The clone.

dispatchEvent(event){boolean | undefined} inherited

events/Target.js, line 85

Dispatches an event and calls all listeners listening for events of this type. The event parameter can either be a string or an Object with a type property.

Name Type Description
event BaseEvent | string

Event object.

Returns:
false if anyone called preventDefault on the event object or if any of the listeners returned false.

get(key){*} inherited

Object.js, line 136

Gets a value.

Name Type Description
key string

Key name.

Returns:
Value.

getGeometry(){Geometry | undefined}

Feature.js, line 190

Get the feature's default geometry. A feature may have any number of named geometries. The "default" geometry (the one that is rendered by default) is set when calling setGeometry.

Returns:
The default geometry for the feature.

getGeometryName(){string}

Feature.js, line 212

Get the name of the feature's default geometry. By default, the default geometry is named geometry.

Returns:
Get the property name associated with the default geometry for this feature.

getId(){number | string | undefined}

Feature.js, line 201

Get the feature identifier. This is a stable identifier for the feature and is either set when reading data from a remote source or set explicitly by calling setId.

Returns:
Id.

getKeys(){Array.<string>} inherited

Object.js, line 149

Get a list of object property names.

Returns:
List of property names.

getProperties(){NoInfer.<Properties>} inherited

Object.js, line 158

Get an object of all property names and values.

Returns:
Object.

getRevision(){number} inherited

Observable.js, line 83

Get the version number for this object. Each time the object is modified, its version number will be incremented.

Returns:
Revision.

getStyle(){StyleLike | null | undefined}

Feature.js, line 222

Get the feature's style. Will return what was provided to the setStyle method.

Returns:
The feature style.

getStyleFunction(){StyleFunction | undefined}

Feature.js, line 232

Get the feature's style function.

Returns:
Return a function representing the current style of this feature.

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

Observable.js, line 156

Listen for a certain type of event.

Name Type Description
type string | Array.<string>

The event type or array of event types.

listener function

The listener function.

Returns:
Unique key for the listener. If called with an array of event types as the first argument, the return will be an array of keys.

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

Observable.js, line 168

Listen once for a certain type of event.

Name Type Description
type string | Array.<string>

The event type or array of event types.

listener function

The listener function.

Returns:
Unique key for the listener. If called with an array of event types as the first argument, the return will be an array of keys.

set(key, value, silent) inherited

Object.js, line 218

Sets a value.

Name Type Description
key string

Key name.

value *

Value.

silent boolean | undefined

Update without triggering an event.

setGeometry(geometry)

Feature.js, line 270

Set the default geometry for the feature. This will update the property with the name returned by getGeometryName.

Name Type Description
geometry Geometry | null | undefined

The new geometry.

setGeometryName(name)

Feature.js, line 310

Set the property name to be used when getting the feature's default geometry. When calling getGeometry, the value of the property with this name will be returned.

Name Type Description
name string

The property name of the default geometry.

setId(id)

Feature.js, line 298

Set the feature id. The feature id is considered stable and may be used when requesting features or comparing identifiers returned from a remote source. The feature id can be used with the getFeatureById method.

Name Type Description
id number | string | undefined

The feature id.

Fires:
  • change (BaseEvent) - Generic change event. Triggered when the revision counter is increased.

setProperties(values, silent) inherited

Object.js, line 241

Sets a collection of key-value pairs. Note that this changes any existing properties and adds new ones (it does not remove any existing properties).

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

Values.

silent boolean | undefined

Update without triggering an event.

setStyle(style)

Feature.js, line 283

Set the style for the feature to override the layer style. This can be a single style object, an array of styles, or a function that takes a resolution and returns an array of styles. To unset the feature style, call setStyle() without arguments or a falsey value.

Name Type Description
style StyleLike | null | undefined

Style for this feature.

Fires:
  • change (BaseEvent) - Generic change event. Triggered when the revision counter is increased.

un(type, listener) inherited

Observable.js, line 177

Unlisten for a certain type of event.

Name Type Description
type string | Array.<string>

The event type or array of event types.

listener function

The listener function.

unset(key, silent) inherited

Object.js, line 265

Unsets a property.

Name Type Description
key string

Key name.

silent boolean | undefined

Unset without triggering an event.

TutorialsAPI index
English reference text adapted from the official OpenLayers documentation, © OpenLayers contributors, licensed under BSD-2-Clause.
Original page: https://openlayers.org/en/latest/apidoc/module-ol_Feature-Feature.html · Chinese note: /openlayers/api/feature.html
Cite this page

Atlaslog (2026). Feature. https://www.jingweizhi.com/en/openlayers/api/feature.html (accessed 2026-11-03).