@interface MGLPointAnnotation : MGLShape

An MGLPointAnnotation object represents a one-dimensional shape located at a single geographical coordinate. Depending on how it is used, an MGLPointAnnotation object is known as a point annotation or point shape. For example, you could use a point shape to represent a city at low zoom levels, an address at high zoom levels, or the location of a long press gesture.

You can add point shapes to the map by adding them to an MGLShapeSource object. Configure the appearance of an MGLShapeSource’s or MGLVectorSource’s point shapes collectively using an MGLCircleStyleLayer or MGLSymbolStyleLayer object.

For more interactivity, add a selectable point annotation to a map view using the -[MGLMapView addAnnotation:] method. Alternatively, define your own model class that conforms to the MGLAnnotation protocol. Configure a point annotation’s appearance using -[MGLMapViewDelegate mapView:imageForAnnotation:] or -[MGLMapViewDelegate mapView:viewForAnnotation:] (iOS only). A point annotation’s MGLShape.title and MGLShape.subtitle properties define the default content of the annotation’s callout (on iOS) or popover (on macOS).

To group multiple related points together in one shape, use an MGLPointCollection or MGLShapeCollection object.

A point shape is known as a Point geometry in GeoJSON.

  • The coordinate point of the shape, specified as a latitude and longitude.



    @property (assign, readwrite, nonatomic) CLLocationCoordinate2D coordinate;


    var coordinate: CLLocationCoordinate2D { get set }