# Module: ol/source/Cluster

This documentation is for OpenLayers v10.9.0. The latest is v.

## ol/source/Cluster

### Classes

Cluster

### Type Definitions

#### GeometryFunction()

source/Cluster.js, line 19

#### Options{Object}

  ##### Properties:

  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` | GeometryFunction<FeatureType> | undefined | Function that takes a `Feature` as argument and returns a `Point` as cluster calculation point for the feature. When a feature should not be considered for clustering, the function should return `null`. The default, which works when the underlying source contains point features only, is
      function(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 of `Feature` included in this cluster. Must return a `Feature` 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.