---
title: MKAnnotation
framework: mapkit
role: symbol
role_heading: Protocol
path: mapkit/mkannotation
---

# MKAnnotation

An interface for associating your content with a specific map location.

## Declaration

```swift
protocol MKAnnotation : NSObjectProtocol
```

## Overview

Overview An object that adopts this protocol manages the data that you want to display on the map surface. It doesn’t provide the visual representation that the map displays. Instead, your map view’s delegate provides the MKAnnotationView objects necessary to display the content of your annotations. When you want to display content at a specific point on the map, add an annotation object to the map view. When the annotation’s coordinate is visible on the map, the map view asks its delegate to provide an appropriate view to display any content associated with the annotation. You implement the mapView(_:viewFor:) method of the delegate to provide that view. An object that adopts this protocol needs to implement the coordinate property. The other methods of this protocol are optional.

## Topics

### Position attributes

- [coordinate](mapkit/mkannotation/coordinate.md)

### Title attributes

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

## Relationships

### Inherits From

- [NSObjectProtocol](objectivec/nsobjectprotocol.md)

### Inherited By

- [MKOverlay](mapkit/mkoverlay.md)

### Conforming Types

- [MKCircle](mapkit/mkcircle.md)
- [MKClusterAnnotation](mapkit/mkclusterannotation.md)
- [MKGeodesicPolyline](mapkit/mkgeodesicpolyline.md)
- [MKMapFeatureAnnotation](mapkit/mkmapfeatureannotation.md)
- [MKMapItemAnnotation](mapkit/mkmapitemannotation.md)
- [MKMultiPoint](mapkit/mkmultipoint.md)
- [MKMultiPolygon](mapkit/mkmultipolygon.md)
- [MKMultiPolyline](mapkit/mkmultipolyline.md)
- [MKPlacemark](mapkit/mkplacemark.md)
- [MKPointAnnotation](mapkit/mkpointannotation.md)
- [MKPolygon](mapkit/mkpolygon.md)
- [MKPolyline](mapkit/mkpolyline.md)
- [MKShape](mapkit/mkshape.md)
- [MKTileOverlay](mapkit/mktileoverlay.md)
- [MKUserLocation](mapkit/mkuserlocation.md)

## See Also

### Shared behavior

- [MKPlacemark](mapkit/mkplacemark.md)
- [MKAnnotationView](mapkit/mkannotationview.md)
