ol/Feature~Feature
import Feature from 'ol/Feature.js';
A vector object for geographic features with a geometry and other attribute properties, similar to the features in vector file formats like GeoJSON.
Features can be styled individually with setStyle; otherwise they use the style of their vector layer.
Note that attribute properties are set as BaseObject properties on the feature object, so they are observable, and have get/set accessors.
Typically, a feature has a single geometry property. You can set the geometry using the setGeometry method and get it with getGeometry. It is possible to store more than one geometry on a feature using attribute properties. By default, the geometry used for rendering is identified by the property name geometry. If you want to use another geometry property for rendering, use the setGeometryName method to change the attribute property associated with the geometry for the feature. For example:
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 Description geometryOrPropertiesGeometry | 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
geometrykey.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
-
Increases the revision counter and dispatches a 'change' event.
-
clone(){Feature<Geometry>}
-
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
-
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
typeproperty.Name Type Description eventBaseEvent | string Event object.
Returns:
falseif anyone called preventDefault on the event object or if any of the listeners returned false.
-
Gets a value.
Name Type Description keystring Key name.
Returns:
Value.
-
getGeometry(){Geometry | undefined}
-
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}
-
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}
-
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.
-
Get a list of object property names.
Returns:
List of property names.
-
Get an object of all property names and values.
Returns:
Object.
-
getRevision(){number} inherited
-
Get the version number for this object. Each time the object is modified, its version number will be incremented.
Returns:
Revision.
-
getStyle(){StyleLike | undefined}
-
Get the feature's style. Will return what was provided to the
setStylemethod.Returns:
The feature style.
-
getStyleFunction(){StyleFunction | undefined}
-
Get the feature's style function.
Returns:
Return a function representing the current style of this feature.
-
Listen for a certain type of event.
Name Type Description typestring | Array.<string> The event type or array of event types.
listenerfunction 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.
-
Listen once for a certain type of event.
Name Type Description typestring | Array.<string> The event type or array of event types.
listenerfunction 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.
-
Sets a value.
Name Type Description keystring Key name.
value* Value.
silentboolean | undefined Update without triggering an event.
-
setGeometry(geometry)
-
Set the default geometry for the feature. This will update the property with the name returned by
getGeometryName.Name Type Description geometryGeometry | undefined The new geometry.
-
setGeometryName(name)
-
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 namestring The property name of the default geometry.
-
setId(id)
-
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
getFeatureByIdmethod.Name Type Description idnumber | string | undefined The feature id.
Fires:
-
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 valuesPartial.<NoInfer.<Properties>> Values.
silentboolean | undefined Update without triggering an event.
-
setStyle(style)
-
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 styleStyleLike | undefined Style for this feature.
Fires:
-
un(type, listener) inherited
-
Unlisten for a certain type of event.
Name Type Description typestring | Array.<string> The event type or array of event types.
listenerfunction The listener function.
-
Unsets a property.
Name Type Description keystring Key name.
silentboolean | undefined Unset without triggering an event.
© 2005-present, OpenLayers Contributors All rights reserved.Licensed under the BSD 2-Clause License.
https://openlayers.org/en/latest/apidoc/module-ol_Feature-Feature.html