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


protocol MKAnnotation


An object that adopts this protocol manages the data that you want to display on the map surface. It does not provide the visual representation displayed by the map. Instead, your map view's delegate provides the MKAnnotationView objects needed 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 must implement the coordinate property. The other methods of this protocol are optional.


Position Attributes

var coordinate: CLLocationCoordinate2D

The center point (specified as a map coordinate) of the annotation.


Title Attributes

var title: String?

The string containing the annotation’s title.

var subtitle: String?

The string containing the annotation’s subtitle.


Inherits From

Inherited By

See Also

Annotations and Overlays

class MKPlacemark

A user-friendly description of a location on the map.

class MKAnnotationView

The visual representation of one of your annotation objects.

protocol MKOverlay

An interface for associating content with a specific map region.

class MKOverlayRenderer

The shared infrastructure used to draw overlays on the map surface.

MapKit Annotations

Use these annotation objects as-is in your maps.

MapKit Overlays

Use these overlays as-is in your maps.