---
title: MKClusterAnnotation
framework: mapkit
role: symbol
role_heading: Class
path: mapkit/mkclusterannotation
---

# MKClusterAnnotation

An annotation that groups two or more distinct annotations into a single entity.

## Declaration

```swift
class MKClusterAnnotation
```

## Overview

Overview A cluster annotation object stands in for the group of annotations. Cluster views promote legibility of the underlying annotations by displaying a single annotation that takes it’s title from one annotation and includes a subtitle that indicates how many additional annotations belong to the group. MapKit automatically creates cluster annotations when two or more annotation views group too closely together on the map surface. To customize the cluster annotations that display on your map, implement the mapView(_:clusterAnnotationForMemberAnnotations:) method in your map’s delegate.

## Topics

### Creating a cluster annotation

- [init(memberAnnotations:)](mapkit/mkclusterannotation/init(memberannotations:).md)

### Getting the cluster attributes

- [title](mapkit/mkclusterannotation/title.md)
- [subtitle](mapkit/mkclusterannotation/subtitle.md)

### Getting the annotations

- [memberAnnotations](mapkit/mkclusterannotation/memberannotations.md)

## Relationships

### Inherits From

- [NSObject](objectivec/nsobject-swift.class.md)

### Conforms To

- [CVarArg](swift/cvararg.md)
- [CustomDebugStringConvertible](swift/customdebugstringconvertible.md)
- [CustomStringConvertible](swift/customstringconvertible.md)
- [Equatable](swift/equatable.md)
- [Hashable](swift/hashable.md)
- [MKAnnotation](mapkit/mkannotation.md)
- [NSObjectProtocol](objectivec/nsobjectprotocol.md)

## See Also

### Grouped annotations

- [Decluttering a Map with MapKit Annotation Clustering](mapkit/decluttering-a-map-with-mapkit-annotation-clustering.md)
