summaryrefslogtreecommitdiff
path: root/platform/darwin/src/MGLPointAnnotation.h
blob: 0543d57691b11885b89d7832f9a225890d057905 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
#import <Foundation/Foundation.h>
#import <CoreLocation/CoreLocation.h>

#import "MGLFoundation.h"
#import "MGLShape.h"

NS_ASSUME_NONNULL_BEGIN

/**
 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
 `MGLVectorTileSource`’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. To access
 a point’s attributes, use an `MGLPointFeature` object.

 A point shape is known as a
 <a href="https://tools.ietf.org/html/rfc7946#section-3.1.2">Point</a> geometry
 in GeoJSON.
 
 #### Related examples
 See the <a href="https://www.mapbox.com/ios-sdk/maps/examples/marker/">
 Mark a place on the map with an annotation</a>, <a href="https://www.mapbox.com/ios-sdk/maps/examples/marker-image/">
 Mark a place on the map with an image</a>, and <a href="https://www.mapbox.com/ios-sdk/maps/examples/default-callout/">
 Default callout usage</a> examples to learn how to add `MGLPointAnnotation`
 objects to your map.
 */
MGL_EXPORT
@interface MGLPointAnnotation : MGLShape

/**
 The coordinate point of the shape, specified as a latitude and longitude.
 */
@property (nonatomic, assign) CLLocationCoordinate2D coordinate;

@end

NS_ASSUME_NONNULL_END