new Cluster(options)
Name | Type | Description | ||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
options |
Cluster options.
|
Fires:
-
addfeature
- Triggered when a feature is added to the source. -
change
(module:ol/events/Event~Event) - Generic change event. Triggered when the revision counter is increased. -
changefeature
- Triggered when a feature is updated. -
clear
- Triggered when the clear method is called on the source. -
propertychange
(module:ol/Object.ObjectEvent) - Triggered when a property is changed. -
removefeature
- 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.Name Type Description feature
module:ol/Feature~Feature Feature to add.
-
Add a batch of features to the source.
Name Type Description features
Array.<module:ol/Feature~Feature> Features to add.
-
Remove all features from the source.
Name Type Description fast
boolean Skip dispatching of
module:ol/source/Vector.VectorSourceEvent#removefeature
events. -
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
module:ol/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
source/Vector.js, line 599 -
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
module:ol/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.
-
getClosestFeatureToCoordinate(coordinate, opt_filter){module:ol/Feature~Feature} inherited
source/Vector.js, line 693 -
Get the closest feature to the provided coordinate.
This method is not available when the source is configured with
useSpatialIndex
set tofalse
.Name Type Description coordinate
module:ol/coordinate~Coordinate Coordinate.
filter
function 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.
-
getDistance(){number}
source/Cluster.js, line 99 -
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
module:ol/extent~Extent Destination extent. If provided, no new extent will be created. Instead, that extent's coordinates will be overwritten.
Returns:
Extent.
-
Get a feature by its identifier (the value returned by feature.getId()). Note that the index treats string and numeric identifiers as the same. So
source.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 all features on the source in random order.
Returns:
Features.
-
getFeaturesAtCoordinate(coordinate){Array.<module:ol/Feature~Feature>} inherited
source/Vector.js, line 656 -
Get all features whose geometry intersects the provided coordinate.
Name Type Description coordinate
module:ol/coordinate~Coordinate Coordinate.
Returns:
Features.
-
getFeaturesCollection(){module:ol/Collection~Collection.<module:ol/Feature~Feature>} inherited
source/Vector.js, line 624 -
Get the features collection associated with this source. Will be
null
unless the source was configured withuseSpatialIndex
set tofalse
, or with anmodule:ol/Collection
asfeatures
.Returns:
The collection of features.
-
Get all features in 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).
This method is not available when the source is configured with
useSpatialIndex
set tofalse
.Name Type Description extent
module:ol/extent~Extent Extent.
Returns:
Features.
-
Get the format associated with this source.
Returns:
The feature format.
-
Get a reference to the wrapped source.
Returns:
Source.
-
getUrl(){string|module:ol/featureloader~FeatureUrlFunction|undefined} inherited
source/Vector.js, line 791 -
Get the url associated with this source.
Returns:
The url.
-
Returns true if the feature is contained within the source.
Name Type Description feature
module:ol/Feature~Feature Feature.
Returns:
Has feature.
-
Remove a single feature from the source. If you want to remove all features at once, use the
#clear()
method instead.Name Type Description feature
module:ol/Feature~Feature Feature to remove.
-
Remove an extent from the list of loaded extents.
Name Type Description extent
module:ol/extent~Extent Extent.
-
setDistance(distance)
source/Cluster.js, line 130 -
Set the distance in pixels between clusters.
Name Type Description distance
number The distance in pixels.
-
Set the new loader of the source. The next loadFeatures call will use the new loader.
Name Type Description loader
module:ol/featureloader~FeatureLoader The loader to set.