---
title: "SuperclusterOptions | JavaScript maps SDK"
description: "Documentation for MapTiler SDK"
---

> For AI agents: a documentation index is available at [/llms.txt](https://docs.maptiler.com/llms.txt). Markdown versions of all pages are available by appending .md to any URL.

# Type Alias SuperclusterOptions

type SuperclusterOptions \= {  
    [extent](#extent)?: number;  
    [generateId](#generateid)?: boolean;  
    [log](#log)?: boolean;  
    [map](#map)?: (props: [GeoJsonProperties](https://docs.maptiler.com/sdk-js/api-reference/types/Externals.GeoJsonProperties/)) \=> [Record](https://docs.maptiler.com/sdk-js/api-reference/types/Externals.Record/)<string, unknown\>;  
    [maxZoom](#maxzoom)?: number;  
    [minPoints](#minpoints)?: number;  
    [minZoom](#minzoom)?: number;  
    [nodeSize](#nodesize)?: number;  
    [radius](#radius)?: number;  
    [reduce](#reduce)?:  
        | (  
            (  
                accumulated: [Record](https://docs.maptiler.com/sdk-js/api-reference/types/Externals.Record/)<string, unknown\>,  
                props: [Record](https://docs.maptiler.com/sdk-js/api-reference/types/Externals.Record/)<string, unknown\>,  
            ) \=> void  
        )  
        | null;  
}

##### Index

### Properties[](#properties)

[extent?](#extent) [generateId?](#generateid) [log?](#log) [map?](#map) [maxZoom?](#maxzoom) [minPoints?](#minpoints) [minZoom?](#minzoom) [nodeSize?](#nodesize) [radius?](#radius) [reduce?](#reduce)

## Properties[](#properties-1)

### `Optional`extent[](#extent)

extent?: number

Tile extent (radius is calculated relative to it)

#### Default[](#default)

```typescript
512
```

### `Optional`generateId[](#generateid)

generateId?: boolean

Whether to generate numeric ids for input features (in vector tiles)

#### Default[](#default-1)

```typescript
false
```

### `Optional`log[](#log)

log?: boolean

Whether to log timing info

#### Default[](#default-2)

```typescript
false
```

### `Optional`map[](#map)

map?: (props: [GeoJsonProperties](https://docs.maptiler.com/sdk-js/api-reference/types/Externals.GeoJsonProperties/)) \=> [Record](https://docs.maptiler.com/sdk-js/api-reference/types/Externals.Record/)<string, unknown\>

Properties to use for individual points when running the reducer

#### Default[](#default-3)

```typescript
props => props
```

### `Optional`maxZoom[](#maxzoom)

maxZoom?: number

Max zoom level to cluster the points on

#### Default[](#default-4)

```typescript
16
```

### `Optional`minPoints[](#minpoints)

minPoints?: number

Minimum points to form a cluster

#### Default[](#default-5)

```typescript
2
```

### `Optional`minZoom[](#minzoom)

minZoom?: number

Min zoom to generate clusters on

#### Default[](#default-6)

```typescript
0
```

### `Optional`nodeSize[](#nodesize)

nodeSize?: number

Size of the KD-tree leaf node, affects performance

#### Default[](#default-7)

```typescript
64
```

### `Optional`radius[](#radius)

radius?: number

Cluster radius in pixels

#### Default[](#default-8)

```typescript
40
```

### `Optional`reduce[](#reduce)

reduce?:  
    | (  
        (  
            accumulated: [Record](https://docs.maptiler.com/sdk-js/api-reference/types/Externals.Record/)<string, unknown\>,  
            props: [Record](https://docs.maptiler.com/sdk-js/api-reference/types/Externals.Record/)<string, unknown\>,  
        ) \=> void  
    )  
    | null

A reduce function for calculating custom cluster properties

#### Default[](#default-9)

```typescript
null
```
