-
new Cluster(options)
source/Cluster.js, line 77 -
Name Type Description attributionsAttributionLike | undefined Attributions.
distancenumber (defaults to 20) Distance in pixels within which features will be clustered together.
minDistancenumber (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.
geometryFunctionGeometryFunction<FeatureType> | undefined Function that takes a
Featureas argument and returns aPointas 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
getInteriorPointfor a way to get a cluster calculation point for polygons.createClusterfunction | undefined Function that takes the cluster's center
Pointand an array ofFeatureincluded in this cluster. Must return aFeaturethat will be used to render. Default implementation is:function(point, features) { return new Feature({ geometry: point, features: features }); }sourceVectorSource<FeatureType> (defaults to null) Source.
wrapXboolean (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
- VectorSource
Methods
-
addFeature(feature) inherited
source/Vector.js, line 336 -
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 aCollectionis 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 featureFeatureType Feature to add.
-
addFeatures(features) inherited
source/Vector.js, line 443 -
Add a batch of features to the source.
Name Type Description featuresArray.<FeatureType> Features to add.
-
changed() inherited
Observable.js, line 72 -
Increases the revision counter and dispatches a 'change' event.
-
clear(fast)
source/Cluster.js, line 162 -
Remove all features from the source.
Name Type Description fastboolean | undefined Skip dispatching of
removefeatureevents. -
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
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.
-
forEachFeature(callback){T | undefined} inherited
source/Vector.js, line 616 -
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 callbackfunction 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.
-
forEachFeatureInExtent(extent, callback){T | undefined} inherited
source/Vector.js, line 673 -
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
useSpatialIndexis set to false, this method will loop through all features, equivalent to#forEachFeature().Name Type Description extentExtent Extent.
callbackfunction 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
source/Vector.js, line 697 -
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 extentExtent Extent.
callbackfunction Called with each feature whose geometry intersects the provided extent.
Returns:
The return value from the last call to the callback.
-
get(key){*} inherited
Object.js, line 136 -
Gets a value.
Name Type Description keystring Key name.
Returns:
Value.
-
getAttributions(){Attribution} inherited
source/Source.js, line 135 -
Get the attribution function for the source.
Returns:
Attribution function.
-
getAttributionsCollapsible(){boolean} inherited
source/Source.js, line 143 -
Returns:
Attributions are collapsible.
-
getClosestFeatureToCoordinate(coordinate, filter){FeatureType | null} inherited
source/Vector.js, line 813 -
Get the closest feature to the provided coordinate.
This method is not available when the source is configured with
useSpatialIndexset tofalseand the features in this source are of typeFeature.Name Type Description coordinateCoordinate Coordinate.
filterfunction | undefined Feature filter function. The filter function will receive one argument, the
featureand it should return a boolean value. By default, no filtering is made.Returns:
Closest feature (ornullif none found).
-
getDistance(){number}
source/Cluster.js, line 172 -
Get the distance in pixels between clusters.
Returns:
Distance.
-
getExtent(extent){Extent | null} inherited
source/Vector.js, line 876 -
Get the extent of the features currently in the source.
This will return
nullwhen the source is configured withuseSpatialIndexset tofalse.Name Type Description extentExtent | 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
source/Vector.js, line 892 -
Get a feature by its identifier (the value returned by feature.getId()). When
RenderFeatures are used,getFeatureById()can return an array ofRenderFeatures. This allows for handling ofGeometryCollectiongeometries, where format readers create oneRenderFeatureperGeometryCollectionmember. 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 idstring | number Feature identifier.
Returns:
The feature (ornullif not found).
-
getFeatures(){Array.<FeatureType>} inherited
source/Vector.js, line 736 -
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.
-
getFeaturesAtCoordinate(coordinate){Array.<FeatureType>} inherited
source/Vector.js, line 755 -
Get all features whose geometry intersects the provided coordinate.
Name Type Description coordinateCoordinate Coordinate.
Returns:
Features.
-
getFeaturesCollection(){Collection<FeatureType> | null} inherited
source/Vector.js, line 726 -
Get the features collection associated with this source. Will be
nullunless the source was configured withuseSpatialIndexset tofalse, or with aCollectionasfeatures.Returns:
The collection of features.
-
getFeaturesInExtent(extent, projection){Array.<FeatureType>} inherited
source/Vector.js, line 778 -
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
useSpatialIndexis set to false, this method will return all features.Name Type Description extentExtent Extent.
projectionProjection | undefined Include features where
extentexceeds the x-axis bounds ofprojectionand wraps around the world.Returns:
Features.
-
getFormat(){FeatureFormat<FeatureType> | null} inherited
source/Vector.js, line 918 -
Get the format associated with this source.
Returns:
} The feature format.
-
getKeys(){Array.<string>} inherited
Object.js, line 149 -
Get a list of object property names.
Returns:
List of property names.
-
getMinDistance(){number}
source/Cluster.js, line 223 -
The configured minimum distance between clusters.
Returns:
The minimum distance in pixels.
-
getProjection(){Projection | null} inherited
source/Source.js, line 152 -
Get the projection of the source.
Returns:
Projection.
-
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.
-
getSource(){VectorSource<FeatureType> | null}
source/Cluster.js, line 181 -
Get a reference to the wrapped source.
Returns:
Source.
-
getState(){State} inherited
source/Source.js, line 207 -
Get the state of the source, see
Statefor possible states.Returns:
State.
-
getUrl(){string | FeatureUrlFunction | undefined} inherited
source/Vector.js, line 935 -
Get the url associated with this source.
Returns:
The url.
-
hasFeature(feature){boolean} inherited
source/Vector.js, line 990 -
Returns true if the feature is contained within the source.
Name Type Description featureFeatureType Feature.
Returns:
Has feature.
-
on(type, listener){EventsKey | Array<EventsKey>} inherited
Observable.js, line 156 -
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.
-
once(type, listener){EventsKey | Array<EventsKey>} inherited
Observable.js, line 168 -
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.
-
removeFeature(feature) inherited
source/Vector.js, line 1155 -
Remove a single feature from the source. If you want to batch remove features, use the
#removeFeatures()method instead.Name Type Description featureFeatureType Feature to remove.
-
removeFeatures(features) inherited
source/Vector.js, line 1138 -
Batch remove features from the source. If you want to remove all features at once, use the
#clear()method instead.Name Type Description featuresArray.<FeatureType> Features to remove.
-
removeLoadedExtent(extent) inherited
source/Vector.js, line 1115 -
Marks an extent as not loaded, preserving any loaded areas outside it.
Any previously loaded extent overlapping the given extent is split into its remaining non-overlapping parts using
getDifference(), which are then re-inserted into the tree.Name Type Description extentExtent Extent to mark as not loaded.
-
set(key, value, silent) inherited
Object.js, line 218 -
Sets a value.
Name Type Description keystring Key name.
value* Value.
silentboolean | undefined Update without triggering an event.
-
setAttributions(attributions) inherited
source/Source.js, line 240 -
Set the attributions of the source.
Name Type Description attributionsAttributionLike | undefined Attributions. Can be passed as
string,Array<string>,Attribution, orundefined. -
setDistance(distance)
source/Cluster.js, line 204 -
Set the distance within which features will be clusterd together.
Name Type Description distancenumber The distance in pixels.
-
setLoader(loader) inherited
source/Vector.js, line 1232 -
Set the new loader of the source. The next render cycle will use the new loader.
Name Type Description loaderFeatureLoader The loader to set.
-
setMinDistance(minDistance)
source/Cluster.js, line 214 -
Set the minimum distance between clusters. Will be capped at the configured distance.
Name Type Description minDistancenumber The minimum distance in pixels.
-
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 valuesPartial.<NoInfer.<Properties>> Values.
silentboolean | undefined Update without triggering an event.
-
setSource(source)
source/Cluster.js, line 232 -
Replace the wrapped source.
Name Type Description sourceVectorSource<FeatureType> | null The new source for this instance.
-
setUrl(url) inherited
source/Vector.js, line 1241 -
Points the source to a new url. The next render cycle will use the new url.
Name Type Description urlstring | FeatureUrlFunction Url.
-
un(type, listener) inherited
Observable.js, line 177 -
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.
-
unset(key, silent) inherited
Object.js, line 265 -
Unsets a property.
Name Type Description keystring Key name.
silentboolean | undefined Unset without triggering an event.