-
Name Type Description attributions
AttributionLike | undefined Attributions.
distance
number (defaults to 20) Distance in pixels within which features will be clustered together.
minDistance
number (defaults to 0) Minimum distance in pixels between clusters. Will be capped at the configured distance. By default no minimum distance is guaranteed. This config can be used to avoid overlapping icons. As a tradoff, the cluster feature's position will no longer be the center of all its features.
geometryFunction
function | undefined Function that takes a
Feature
as argument and returns aPoint
as cluster calculation point for the feature. When a feature should not be considered for clustering, the function should returnnull
. The default, which works when the underlying source contains point features only, isfunction(feature) { return feature.getGeometry(); }
See
getInteriorPoint
for a way to get a cluster calculation point for polygons.createCluster
function | undefined Function that takes the cluster's center
Point
and an array ofFeature
included in this cluster. Must return aFeature
that will be used to render. Default implementation is:function(point, features) { return new Feature({ geometry: point, features: features }); }
source
VectorSource<FeatureType> (defaults to null) Source.
wrapX
boolean (defaults to true) Whether to wrap the world horizontally.
Fires:
-
addfeature
(VectorSourceEvent) - Triggered when a feature is added to the source. -
change
(BaseEvent) - Generic change event. Triggered when the revision counter is increased. -
changefeature
(VectorSourceEvent) - Triggered when a feature is updated. -
clear
(VectorSourceEvent) - Triggered when the clear method is called on the source. -
error
(BaseEvent) - Generic error event. Triggered when an error occurs. -
featuresloadend
(VectorSourceEvent) - Triggered when features finishes loading. -
featuresloaderror
(VectorSourceEvent) - Triggered if feature loading results in an error. -
featuresloadstart
(VectorSourceEvent) - Triggered when features starts loading. -
propertychange
(ObjectEvent) - Triggered when a property is changed. -
removefeature
(VectorSourceEvent) - Triggered when a feature is removed from the source. Seesource.clear()
for exceptions.
-
Extends
Methods
-
Add a single feature to the source. If you want to add a batch of features at once, call
#addFeatures()
instead. A feature will not be added to the source if feature with the same id is already there. The reason for this behavior is to avoid feature duplication when using bbox or tile loading strategies. Note: this also applies if aCollection
is used for features, meaning that if a feature with a duplicate id is added in the collection, it will be removed from it right away.Name Type Description feature
FeatureType Feature to add.
-
Add a batch of features to the source.
Name Type Description features
Array.<FeatureType> Features to add.
-
Increases the revision counter and dispatches a 'change' event.
-
Remove all features from the source.
Name Type Description fast
boolean | undefined Skip dispatching of
removefeature
events. -
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.
-
Iterate through all features on the source, calling the provided callback with each one. If the callback returns any "truthy" value, iteration will stop and the function will return the same value. Note: this function only iterate through the feature that have a defined geometry.
Name Type Description callback
function Called with each feature on the source. Return a truthy value to stop iteration.
Returns:
The return value from the last call to the callback.
-
Iterate through all features whose bounding box intersects the provided extent (note that the feature's geometry may not intersect the extent), calling the callback with each feature. If the callback returns a "truthy" value, iteration will stop and the function will return the same value.
If you are interested in features whose geometry intersects an extent, call the
#forEachFeatureIntersectingExtent()
method instead.When
useSpatialIndex
is set to false, this method will loop through all features, equivalent to#forEachFeature()
.Name Type Description extent
Extent Extent.
callback
function Called with each feature whose bounding box intersects the provided extent.
Returns:
The return value from the last call to the callback.
-
forEachFeatureIntersectingExtent(extent, callback){T | undefined} inherited
-
Iterate through all features whose geometry intersects the provided extent, calling the callback with each feature. If the callback returns a "truthy" value, iteration will stop and the function will return the same value.
If you only want to test for bounding box intersection, call the
#forEachFeatureInExtent()
method instead.Name Type Description extent
Extent Extent.
callback
function Called with each feature whose geometry intersects the provided extent.
Returns:
The return value from the last call to the callback.
-
Gets a value.
Name Type Description key
string Key name.
Returns:
Value.
-
Get the attribution function for the source.
Returns:
Attribution function.
-
Returns:
Attributions are collapsible.
-
Get the closest feature to the provided coordinate.
This method is not available when the source is configured with
useSpatialIndex
set tofalse
and the features in this source are of typeFeature
.Name Type Description coordinate
Coordinate Coordinate.
filter
function | undefined Feature filter function. The filter function will receive one argument, the
feature
and it should return a boolean value. By default, no filtering is made.Returns:
Closest feature.
-
Get the distance in pixels between clusters.
Returns:
Distance.
-
Get the extent of the features currently in the source.
This method is not available when the source is configured with
useSpatialIndex
set tofalse
.Name Type Description extent
Extent | undefined Destination extent. If provided, no new extent will be created. Instead, that extent's coordinates will be overwritten.
Returns:
Extent.
-
getFeatureById(id){FeatureClassOrArrayOfRenderFeatures<FeatureType> | null} inherited
-
Get a feature by its identifier (the value returned by feature.getId()). When
RenderFeature
s are used,getFeatureById()
can return an array ofRenderFeature
s. This allows for handling ofGeometryCollection
geometries, where format readers create oneRenderFeature
perGeometryCollection
member. Note that the index treats string and numeric identifiers as the same. Sosource.getFeatureById(2)
will return a feature with id'2'
or2
.Name Type Description id
string | number Feature identifier.
Returns:
The feature (ornull
if not found).
-
Get a snapshot of the features currently on the source in random order. The returned array is a copy, the features are references to the features in the source.
Returns:
Features.
-
Get all features whose geometry intersects the provided coordinate.
Name Type Description coordinate
Coordinate Coordinate.
Returns:
Features.
-
Get the features collection associated with this source. Will be
null
unless the source was configured withuseSpatialIndex
set tofalse
, or with aCollection
asfeatures
.Returns:
The collection of features.
-
Get all features whose bounding box intersects the provided extent. Note that this returns an array of all features intersecting the given extent in random order (so it may include features whose geometries do not intersect the extent).
When
useSpatialIndex
is set to false, this method will return all features.Name Type Description extent
Extent Extent.
projection
Projection | undefined Include features where
extent
exceeds the x-axis bounds ofprojection
and wraps around the world.Returns:
Features.
-
Get the format associated with this source.
Returns:
} The feature format.
-
Get a list of object property names.
Returns:
List of property names.
-
The configured minimum distance between clusters.
Returns:
The minimum distance in pixels.
-
Get the projection of the source.
Returns:
Projection.
-
Get an object of all property names and values.
Returns:
Object.
-
Get the version number for this object. Each time the object is modified, its version number will be incremented.
Returns:
Revision.
-
Get a reference to the wrapped source.
Returns:
Source.
-
Get the state of the source, see
State
for possible states.Returns:
State.
-
Get the url associated with this source.
Returns:
The url.
-
Returns true if the feature is contained within the source.
Name Type Description feature
FeatureType Feature.
Returns:
Has feature.
-
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.
-
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.
-
Remove a single feature from the source. If you want to batch remove features, use the
#removeFeatures()
method instead.Name Type Description feature
FeatureType Feature to remove.
-
Batch remove features from the source. If you want to remove all features at once, use the
#clear()
method instead.Name Type Description features
Array.<FeatureType> Features to remove.
-
Remove an extent from the list of loaded extents.
Name Type Description extent
Extent Extent.
-
Sets a value.
Name Type Description key
string Key name.
value
* Value.
silent
boolean | undefined Update without triggering an event.
-
Set the attributions of the source.
Name Type Description attributions
AttributionLike | undefined Attributions. Can be passed as
string
,Array<string>
,Attribution
, orundefined
. -
Set the distance within which features will be clusterd together.
Name Type Description distance
number The distance in pixels.
-
Set the new loader of the source. The next render cycle will use the new loader.
Name Type Description loader
FeatureLoader<FeatureType> The loader to set.
-
Set the minimum distance between clusters. Will be capped at the configured distance.
Name Type Description minDistance
number The minimum distance in pixels.
-
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
Object.<string, *> Values.
silent
boolean | undefined Update without triggering an event.
-
Replace the wrapped source.
Name Type Description source
VectorSource<FeatureType> | null The new source for this instance.
-
Points the source to a new url. The next render cycle will use the new url.
Name Type Description url
string | FeatureUrlFunction Url.
-
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.
-
Unsets a property.
Name Type Description key
string Key name.
silent
boolean | undefined Unset without triggering an event.