Classdesc

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 module:ol/Object~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();

Api

Type Parameters

  • Geometry extends default = default

Hierarchy (view full)

Constructors

  • Type Parameters

    Parameters

    • Optional geometryOrProperties: Geometry | ObjectWithGeometry<Geometry>

      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.

    Returns Feature<Geometry>

Properties

disposed: boolean

The object has already been disposed.

on: FeatureOnSignature<EventsKey>
once: FeatureOnSignature<EventsKey>
un: FeatureOnSignature<void>

Methods

  • Parameters

    • key: string

      Key name.

    • listener: Listener

      Listener.

    Returns void

  • Parameters

    • type: string

      Type.

    • listener: Listener

      Listener.

    Returns void

  • Protected

    Apply any properties from another object without triggering events.

    Parameters

    • source: Object

      The source object.

    Returns void

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

    Returns void

    Api

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

    Returns Feature<Geometry>

    The clone.

    Api

  • 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.

    Parameters

    • event: string | BaseEvent

      Event object.

    Returns undefined | boolean

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

    Api

  • Clean up.

    Returns void

  • Protected

    Extension point for disposable objects.

    Returns void

  • Gets a value.

    Parameters

    • key: string

      Key name.

    Returns any

    Value.

    Api

  • 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 module:ol/Feature~Feature#setGeometry.

    Returns undefined | Geometry

    The default geometry for the feature.

    Api

    Observable

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

    Returns string

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

    Api

  • 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 module:ol/Feature~Feature#setId.

    Returns undefined | string | number

    Id.

    Api

  • Get a list of object property names.

    Returns string[]

    List of property names.

    Api

  • Get the listeners for a specified event type. Listeners are returned in the order that they will be called in.

    Parameters

    • type: string

      Type.

    Returns undefined | Listener[]

    Listeners.

  • Get an object of all property names and values.

    Returns {
        [x: string]: any;
    }

    Object.

    • [x: string]: any

    Api

  • Get an object of all property names and values.

    Returns null | {
        [x: string]: any;
    }

    Object.

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

    Returns number

    Revision.

    Api

  • Get the feature's style. Will return what was provided to the module:ol/Feature~Feature#setStyle method.

    Returns undefined | StyleLike

    The feature style.

    Api

  • Get the feature's style function.

    Returns undefined | StyleFunction

    Return a function representing the current style of this feature.

    Api

  • Parameters

    • Optional type: string

      Type. If not provided, true will be returned if this event target has any listeners.

    Returns boolean

    Has listeners.

  • Returns boolean

    The object has properties.

  • Parameters

    • key: string

      Key name.

    • oldValue: any

      Old value.

    Returns void

  • Protected

    Parameters

    • type: string | string[]

      Type.

    • listener: ((arg0) => unknown)

      Listener.

        • (arg0): unknown
        • Parameters

          • arg0: Event | BaseEvent

          Returns unknown

    Returns EventsKey | EventsKey[]

    Event key.

  • Protected

    Parameters

    • type: string | string[]

      Type.

    • listener: ((arg0) => unknown)

      Listener.

        • (arg0): unknown
        • Parameters

          • arg0: Event | BaseEvent

          Returns unknown

    Returns EventsKey | EventsKey[]

    Event key.

  • Parameters

    • key: string

      Key name.

    • listener: Listener

      Listener.

    Returns void

  • Parameters

    • type: string

      Type.

    • listener: Listener

      Listener.

    Returns void

  • Sets a value.

    Parameters

    • key: string

      Key name.

    • value: any

      Value.

    • Optional silent: boolean

      Update without triggering an event.

    Returns void

    Api

  • Set the default geometry for the feature. This will update the property with the name returned by module:ol/Feature~Feature#getGeometryName.

    Parameters

    • geometry: undefined | Geometry

      The new geometry.

    Returns void

    Api

    Observable

  • Set the property name to be used when getting the feature's default geometry. When calling module:ol/Feature~Feature#getGeometry, the value of the property with this name will be returned.

    Parameters

    • name: string

      The property name of the default geometry.

    Returns void

    Api

  • 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 module:ol/source/Vector~VectorSource#getFeatureById method.

    Parameters

    • id: undefined | string | number

      The feature id.

    Returns void

    Api

    Fires

    module:ol/events/Event~BaseEvent#event:change

  • 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).

    Parameters

    • values: {
          [x: string]: any;
      }

      Values.

      • [x: string]: any
    • Optional silent: boolean

      Update without triggering an event.

    Returns void

    Api

  • 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.

    Parameters

    • Optional style: StyleLike

      Style for this feature.

    Returns void

    Api

    Fires

    module:ol/events/Event~BaseEvent#event:change

  • Protected

    Unlisten for a certain type of event.

    Parameters

    • type: string | string[]

      Type.

    • listener: ((arg0) => unknown)

      Listener.

        • (arg0): unknown
        • Parameters

          • arg0: Event | BaseEvent

          Returns unknown

    Returns void

  • Unsets a property.

    Parameters

    • key: string

      Key name.

    • Optional silent: boolean

      Unset without triggering an event.

    Returns void

    Api