summaryrefslogtreecommitdiff
path: root/platform/osx/src/MGLMapViewDelegate.h
diff options
context:
space:
mode:
Diffstat (limited to 'platform/osx/src/MGLMapViewDelegate.h')
-rw-r--r--platform/osx/src/MGLMapViewDelegate.h307
1 files changed, 164 insertions, 143 deletions
diff --git a/platform/osx/src/MGLMapViewDelegate.h b/platform/osx/src/MGLMapViewDelegate.h
index fcd013284d..0b7eec84ac 100644
--- a/platform/osx/src/MGLMapViewDelegate.h
+++ b/platform/osx/src/MGLMapViewDelegate.h
@@ -10,68 +10,77 @@ NS_ASSUME_NONNULL_BEGIN
@class MGLPolyline;
@class MGLShape;
-/** The MGLMapViewDelegate protocol defines a set of optional methods that you
- can use to receive messages from an MGLMapView instance. Because many map
- operations require the MGLMapView class to load data asynchronously, the map
- view calls these methods to notify your application when specific operations
- complete. The map view also uses these methods to request information about
- annotations displayed on the map, such as the styles and interaction modes
- to apply to individual annotations. */
+/**
+ The `MGLMapViewDelegate` protocol defines a set of optional methods that you
+ can use to receive messages from an `MGLMapView` instance. Because many map
+ operations require the `MGLMapView` class to load data asynchronously, the map
+ view calls these methods to notify your application when specific operations
+ complete. The map view also uses these methods to request information about
+ annotations displayed on the map, such as the styles and interaction modes to
+ apply to individual annotations.
+ */
@protocol MGLMapViewDelegate <NSObject>
@optional
-#pragma mark Responding to map viewpoint changes
-/** @name Responding to Map Viewpoint Changes */
-
-/** Tells the delegate that the viewpoint depicted by the map view is about to
- change.
-
- This method is called whenever the currently displayed map camera will start
- changing for any reason.
-
- @param mapView The map view whose viewpoint will change.
- @param animated Whether the change will cause an animated effect on the map.
+#pragma mark Responding to Map Viewpoint Changes
+
+/**
+ Tells the delegate that the viewpoint depicted by the map view is about to
+ change.
+
+ This method is called whenever the currently displayed map camera will start
+ changing for any reason.
+
+ @param mapView The map view whose viewpoint will change.
+ @param animated Whether the change will cause an animated effect on the map.
*/
- (void)mapView:(MGLMapView *)mapView cameraWillChangeAnimated:(BOOL)animated;
-/** Tells the delegate that the viewpoint depicted by the map view is changing.
-
- This method is called as the currently displayed map camera changes due to
- animation. During movement, this method may be called many times to report
- updates to the viewpoint. Therefore, your implementation of this method
- should be as lightweight as possible to avoid affecting performance.
-
- @param mapView The map view whose viewpoint is changing. */
+/**
+ Tells the delegate that the viewpoint depicted by the map view is changing.
+
+ This method is called as the currently displayed map camera changes due to
+ animation. During movement, this method may be called many times to report
+ updates to the viewpoint. Therefore, your implementation of this method should
+ be as lightweight as possible to avoid affecting performance.
+
+ @param mapView The map view whose viewpoint is changing.
+ */
- (void)mapViewCameraIsChanging:(MGLMapView *)mapView;
-/** Tells the delegate that the viewpoint depicted by the map view has finished
- changing.
-
- This method is called whenever the currently displayed map camera has
- finished changing.
-
- @param mapView The map view whose viewpoint has changed.
- @param animated Whether the change caused an animated effect on the map. */
+/**
+ Tells the delegate that the viewpoint depicted by the map view has finished
+ changing.
+
+ This method is called whenever the currently displayed map camera has finished
+ changing.
+
+ @param mapView The map view whose viewpoint has changed.
+ @param animated Whether the change caused an animated effect on the map.
+ */
- (void)mapView:(MGLMapView *)mapView cameraDidChangeAnimated:(BOOL)animated;
-#pragma mark Loading the map
-/** @name Loading the Map */
+#pragma mark Loading the Map
-/** Tells the delegate that the map view will begin to load.
-
- This method is called whenever the map view starts loading, including when a
- new style has been set and the map must reload.
-
- @param mapView The map view that is starting to load. */
+/**
+ Tells the delegate that the map view will begin to load.
+
+ This method is called whenever the map view starts loading, including when a
+ new style has been set and the map must reload.
+
+ @param mapView The map view that is starting to load.
+ */
- (void)mapViewWillStartLoadingMap:(MGLMapView *)mapView;
-/** Tells the delegate that the map view has finished loading.
-
- This method is called whenever the map view finishes loading, either after
- the initial load or after a style change has forced a reload.
-
- @param mapView The map view that has finished loading. */
+/**
+ Tells the delegate that the map view has finished loading.
+
+ This method is called whenever the map view finishes loading, either after the
+ initial load or after a style change has forced a reload.
+
+ @param mapView The map view that has finished loading.
+ */
- (void)mapViewDidFinishLoadingMap:(MGLMapView *)mapView;
- (void)mapViewWillStartRenderingMap:(MGLMapView *)mapView;
@@ -79,119 +88,131 @@ NS_ASSUME_NONNULL_BEGIN
- (void)mapViewWillStartRenderingFrame:(MGLMapView *)mapView;
- (void)mapViewDidFinishRenderingFrame:(MGLMapView *)mapView fullyRendered:(BOOL)fullyRendered;
-#pragma mark Managing the display of annotations
-/** @name Managing the Display of Annotations */
-
-/** Returns an annotation image object to mark the given point annotation object
- on the map.
-
- @param mapView The map view that requested the annotation image.
- @param annotation The object representing the annotation that is about to be
- displayed.
- @return The image object to display for the given annotation or `nil` if you
- want to display the default marker image. */
+#pragma mark Managing the Display of Annotations
+
+/**
+ Returns an annotation image object to mark the given point annotation object on
+ the map.
+
+ @param mapView The map view that requested the annotation image.
+ @param annotation The object representing the annotation that is about to be
+ displayed.
+ @return The image object to display for the given annotation or `nil` if you
+ want to display the default marker image.
+ */
- (nullable MGLAnnotationImage *)mapView:(MGLMapView *)mapView imageForAnnotation:(id <MGLAnnotation>)annotation;
-/** Returns the alpha value to use when rendering a shape annotation.
-
- A value of 0.0 results in a completely transparent shape. A value of 1.0,
- the default, results in a completely opaque shape.
-
- @param mapView The map view rendering the shape annotation.
- @param annotation The annotation being rendered.
- @return An alpha value between 0 and 1.0. */
+/**
+ Returns the alpha value to use when rendering a shape annotation.
+
+ A value of 0.0 results in a completely transparent shape. A value of 1.0, the
+ default, results in a completely opaque shape.
+
+ @param mapView The map view rendering the shape annotation.
+ @param annotation The annotation being rendered.
+ @return An alpha value between 0 and 1.0.
+ */
- (CGFloat)mapView:(MGLMapView *)mapView alphaForShapeAnnotation:(MGLShape *)annotation;
-/** Returns the color to use when rendering the outline of a shape annotation.
-
- The default stroke color is the selected menu item color. If a pattern
- color is specified, the result is undefined.
-
- @param mapView The map view rendering the shape annotation.
- @param annotation The annotation being rendered.
- @return A color to use for the shape outline. */
+/**
+ Returns the color to use when rendering the outline of a shape annotation.
+
+ The default stroke color is the selected menu item color. If a pattern color is
+ specified, the result is undefined.
+
+ @param mapView The map view rendering the shape annotation.
+ @param annotation The annotation being rendered.
+ @return A color to use for the shape outline.
+ */
- (NSColor *)mapView:(MGLMapView *)mapView strokeColorForShapeAnnotation:(MGLShape *)annotation;
-/** Returns the color to use when rendering the fill of a polygon annotation.
-
- The default fill color is selected menu item color. If a pattern color
- is specified, the result is undefined.
-
- @param mapView The map view rendering the polygon annotation.
- @param annotation The annotation being rendered.
- @return The polygon’s interior fill color. */
+/**
+ Returns the color to use when rendering the fill of a polygon annotation.
+
+ The default fill color is selected menu item color. If a pattern color is
+ specified, the result is undefined.
+
+ @param mapView The map view rendering the polygon annotation.
+ @param annotation The annotation being rendered.
+ @return The polygon’s interior fill color.
+ */
- (NSColor *)mapView:(MGLMapView *)mapView fillColorForPolygonAnnotation:(MGLPolygon *)annotation;
-/** Returns the line width in points to use when rendering the outline of a
- polyline annotation.
-
- By default, the polyline is outlined with a line 3.0 points wide.
-
- @param mapView The map view rendering the polygon annotation.
- @param annotation The annotation being rendered.
- @return A line width for the polyline, measured in points. */
+/**
+ Returns the line width in points to use when rendering the outline of a
+ polyline annotation.
+
+ By default, the polyline is outlined with a line 3.0 points wide.
+
+ @param mapView The map view rendering the polygon annotation.
+ @param annotation The annotation being rendered.
+ @return A line width for the polyline, measured in points.
+ */
- (CGFloat)mapView:(MGLMapView *)mapView lineWidthForPolylineAnnotation:(MGLPolyline *)annotation;
-#pragma mark Selecting annotations
-/** @name Selecting annotations */
+#pragma mark Selecting Annotations
-/** Tells the delegate that one of its annotations has been selected.
-
- You can use this method to track changes to the selection state of
- annotations.
-
- @param mapView The map view containing the annotation.
- @param annotation The annotation that was selected. */
+/**
+ Tells the delegate that one of its annotations has been selected.
+
+ You can use this method to track changes to the selection state of annotations.
+
+ @param mapView The map view containing the annotation.
+ @param annotation The annotation that was selected.
+ */
- (void)mapView:(MGLMapView *)mapView didSelectAnnotation:(id <MGLAnnotation>)annotation;
-/** Tells the delegate that one of its annotations has been deselected.
-
- You can use this method to track changes in the selection state of
- annotations.
-
- @param mapView The map view containing the annotation.
- @param annotation The annotation that was deselected. */
+/**
+ Tells the delegate that one of its annotations has been deselected.
+
+ You can use this method to track changes in the selection state of annotations.
+
+ @param mapView The map view containing the annotation.
+ @param annotation The annotation that was deselected.
+ */
- (void)mapView:(MGLMapView *)mapView didDeselectAnnotation:(id <MGLAnnotation>)annotation;
-#pragma mark Displaying information about annotations
-/** @name Displaying Information About Annotations */
-
-/** Returns a Boolean value indicating whether the annotation is able to display
- extra information in a callout popover.
-
- This method is called after an annotation is selected, before any callout is
- displayed for the annotation.
-
- If the return value is `YES`, a callout popover is shown when the user
- clicks on a selected annotation. The default callout displays the
- annotation’s title and subtitle. You can customize the popover’s contents by
- implementing the -mapView:calloutViewControllerForAnnotation: method.
-
- If the return value is `NO`, or if this method is unimplemented, or if the
- annotation lacks a title, the annotation will not show a callout even when
- selected.
-
- @param mapView The map view that has selected the annotation.
- @param annotation The object representing the annotation.
- @return A Boolean value indicating whether the annotation should show a
- callout.
+#pragma mark Displaying Information About Annotations
+
+/**
+ Returns a Boolean value indicating whether the annotation is able to display
+ extra information in a callout popover.
+
+ This method is called after an annotation is selected, before any callout is
+ displayed for the annotation.
+
+ If the return value is `YES`, a callout popover is shown when the user clicks
+ on a selected annotation. The default callout displays the annotation’s title
+ and subtitle. You can customize the popover’s contents by implementing the
+ `-mapView:calloutViewControllerForAnnotation:` method.
+
+ If the return value is `NO`, or if this method is unimplemented, or if the
+ annotation lacks a title, the annotation will not show a callout even when
+ selected.
+
+ @param mapView The map view that has selected the annotation.
+ @param annotation The object representing the annotation.
+ @return A Boolean value indicating whether the annotation should show a
+ callout.
*/
- (BOOL)mapView:(MGLMapView *)mapView annotationCanShowCallout:(id <MGLAnnotation>)annotation;
-/** Returns a view controller to manage the callout popover’s content view.
-
- Like any instance of NSPopover, an annotation callout manages its contents
- with a view controller. The annotation object is the view controller’s
- represented object. This means that you can bind controls in the view
- controller’s content view to KVO-compliant properties of the annotation
- object, such as -title and -subtitle.
-
- If each annotation should have an identical callout, you can set the
- MGLMapView instance’s -setCalloutViewController: method instead.
-
- @param mapView The map view that is requesting a callout view controller.
- @param annotation The object representing the annotation.
- @return A view controller for the given annotation. */
+/**
+ Returns a view controller to manage the callout popover’s content view.
+
+ Like any instance of `NSPopover`, an annotation callout manages its contents
+ with a view controller. The annotation object is the view controller’s
+ represented object. This means that you can bind controls in the view
+ controller’s content view to KVO-compliant properties of the annotation object,
+ such as `title` and `subtitle`.
+
+ If each annotation should have an identical callout, you can set the
+ `MGLMapView` instance’s `-setCalloutViewController:` method instead.
+
+ @param mapView The map view that is requesting a callout view controller.
+ @param annotation The object representing the annotation.
+ @return A view controller for the given annotation.
+ */
- (nullable NSViewController *)mapView:(MGLMapView *)mapView calloutViewControllerForAnnotation:(id <MGLAnnotation>)annotation;
@end