MRMapViewDelegate Protocol Reference
Conforms to | NSObject |
---|---|
Declared in | MRMapView.h |
– mapPickerDidPickMap:
required method
Inform our MRMapViewDelegate that the Map Picker selected a new map
- (void)mapPickerDidPickMap:(nonnull MRMap *)map
Parameters
map |
MRMap |
---|
Declared In
MRMapView.h
– viewControllerToAddSheetToForMapView:
Called when we are not using legacy annotations and are going to add the bottom sheet for the selected annotation. Also called when our map picker is selected
- (nonnull UIViewController *)viewControllerToAddSheetToForMapView:(MRMapView *)mapView
Parameters
mapView |
MRMapView where the annotation was selected thus causing the bottom sheet to be added |
---|
Return Value
UIViewController the sheet should be added to
Discussion
Note: To Customize the View Controller that is presented use the
- (nullable MRDBottomSheetAbstractController *)viewControllerForMapView:(MRMapView *)mapView selectedAnnotationView:(MRAnnotationView *)view
delegate method
Warning: If useLegacyAnnotationCallouts
is NO
(the default value) OR
the Map Picker is visible this method must be implemented
Declared In
MRMapView.h
– mapViewWillStartLoadingMap:
Called when the map view is about to load a map.
- (void)mapViewWillStartLoadingMap:(MRMapView *)mapView
Parameters
mapView |
The map view that will start loading. |
---|
Declared In
MRMapView.h
– mapViewDidFinishLoadingMap:
Called when the map view finishes loading a map.
- (void)mapViewDidFinishLoadingMap:(MRMapView *)mapView
Parameters
mapView |
The map view that finished loading a map. |
---|
Declared In
MRMapView.h
– mapViewDidFailLoadingMap:withError:
Called when the map view fails to load a map.
- (void)mapViewDidFailLoadingMap:(MRMapView *)mapView withError:(NSError *_Nullable)error
Parameters
mapView |
The map view that failed to load a map. |
---|---|
error |
The error that was generated by the failure. |
Declared In
MRMapView.h
– mapViewDidChangeUseAccessiblePaths:
Called when the “Use accessible paths” preference was changed.
- (void)mapViewDidChangeUseAccessiblePaths:(MRMapView *)mapView
Parameters
mapView |
The map view that’s reporting the change. |
---|
Declared In
MRMapView.h
– mapView:routeDidChange:
Called when the map view’s route changes. Routes may be recalculated to account for location changes.
- (void)mapView:(MRMapView *)mapView routeDidChange:(MRRoute *)route
Parameters
mapView |
The map view whose route changed. |
---|---|
route |
The new route. |
Declared In
MRMapView.h
– mapView:willScrollToStepAtIndex:
Called when the map view is about scroll to a new step index.
- (void)mapView:(MRMapView *)mapView willScrollToStepAtIndex:(NSUInteger)index
Parameters
mapView |
The map view that’s about to scroll. |
---|---|
index |
The index of the step that will be scrolled to. |
Declared In
MRMapView.h
– mapView:willScrollToRect:forRouteStep:
Called when the map view is about change its visible rectangle for a route step. You can return a different rectangle if you want to override the default behavior.
- (CGRect)mapView:(MRMapView *)mapView willScrollToRect:(CGRect)rect forRouteStep:(MRRouteStep *)step
Parameters
mapView |
The map view who’s visible rectangle will change. |
---|---|
rect |
The rectangle representing the portion of the map that will be visible. |
step |
The route step associated with this map animation. |
Declared In
MRMapView.h
– mapView:visibleMapRectDidChange:
Called whenever the map view changes either programatically (e.g. setVisibleMapRect:) or through user interaction. Processing performed within this callback should be limited to maintain smooth scrolling.
- (void)mapView:(MRMapView *)mapView visibleMapRectDidChange:(BOOL)animated
Parameters
mapView |
The map view that has finished scrolling. |
---|---|
animated |
If YES, the scroll was animated. |
Declared In
MRMapView.h
– mapView:viewForAnnotation:
Provides a view for each annotation. This method may be called for all or some of the added annotations.
- (nullable MRAnnotationView *)mapView:(MRMapView *)mapView viewForAnnotation:(id<MRAnnotation> _Nullable)annotation
Parameters
mapView |
The map view that’s requesting a view. |
---|---|
annotation |
The annotation that the returned view will represent. |
Discussion
For Meridian provided annotations (eg. MRLocationController
, MRPlacemarkAnnotationView
) return nil
to use the Meridian-provided annotation view.
You may also create the Meridian-provided annotation view yourself by calling -[MRMapView defaultViewForAnnotation:]
.
Declared In
MRMapView.h
– mapView:didAddAnnotationViews:
Called when one or more annotation views were added to the map.
- (void)mapView:(MRMapView *)mapView didAddAnnotationViews:(NSArray<MRAnnotationView*> *)views
Parameters
mapView |
The map view that added the annotation views. |
---|---|
views |
An array of |
Discussion
If you want to manipulate visible annotation views, you can use this method to know when the views have been added to the map.
Declared In
MRMapView.h
– mapView:rendererForOverlay:
Provides a overlay renderer for each annotation. This method may be called for all or some of the added overlays.
- (MRPathRenderer *)mapView:(MRMapView *)mapView rendererForOverlay:(MRPathOverlay *)overlay
Parameters
mapView |
The map view that’s requesting a view. |
---|---|
overlay |
The overlay that the returned renderer will display. |
Discussion
For Meridian provided annotations (eg. MRLocationController
, MRPlacemarkAnnotationView
) return nil
to use the Meridian-provided annotation view.
You may also create the Meridian-provided annotation view yourself by calling -[MRMapView defaultViewForAnnotation:]
.
Declared In
MRMapView.h
– mapView:didAddOverlayRenderers:
Called when one or more overlay renderes were added to the map.
- (void)mapView:(MRMapView *)mapView didAddOverlayRenderers:(NSArray<MRPathRenderer*> *)renderers
Parameters
mapView |
The map view that added the annotation views. |
---|---|
renderers |
An array of |
Discussion
If you want to manipulate visible overlay renderers, you can use this method to know when the renderers have been added to the map.
Declared In
MRMapView.h
– mapView:didLoadPlacemarks:
Called when a map view finishes loading its placemarks.
- (void)mapView:(MRMapView *)mapView didLoadPlacemarks:(NSArray<MRPlacemark*> *)placemarks
Parameters
mapView |
The map view that loaded the placemarks. |
---|---|
placemarks |
An array of |
Discussion
This method is called as soon as the placemarks are loaded but before they have been used to annotate the map.
If you need to change any properties of the placemarks that will affect their visibility on the map, such as
minimumZoomLevel
or hideOnMap
, this method is a good place to do that.
Declared In
MRMapView.h
– mapView:didLoadTags:
Called when tags have loaded.
- (void)mapView:(MRMapView *)mapView didLoadTags:(NSArray<MRTag*> *)tags
Parameters
mapView |
The map view that loaded the tags. |
---|---|
tags |
An array of |
Declared In
MRMapView.h
– mapView:willSelectAnnotationView:
Called just before an annotation view becomes selected. You can return a different MRAnnotationView
to select
or nil
if you don’t want the annotation view selected.
- (nullable MRAnnotationView *)mapView:(MRMapView *)mapView willSelectAnnotationView:(MRAnnotationView *)view
Parameters
mapView |
The map view that’s reporting the event. |
---|---|
view |
The annotation view that’s about to be selected. |
Declared In
MRMapView.h
– mapView:didSelectAnnotationView:
Called when an annotation view becomes selected.
- (void)mapView:(MRMapView *)mapView didSelectAnnotationView:(MRAnnotationView *)view
Parameters
mapView |
The map view that’s reporting the event. |
---|---|
view |
The annotation view that was selected. |
Declared In
MRMapView.h
– mapView:didSelectAnnotationViews:
Called when annotation views becomes selected.
- (void)mapView:(MRMapView *)mapView didSelectAnnotationViews:(NSArray<MRAnnotationView*> *)views
Parameters
mapView |
The map view that’s reporting the event. |
---|---|
views |
The collection of annotation views that are selected. |
Declared In
MRMapView.h
– mapView:didDeselectAnnotationView:
Called when an annotation view is deselected.
- (void)mapView:(MRMapView *)mapView didDeselectAnnotationView:(MRAnnotationView *)view
Parameters
mapView |
The map view that’s reporting the event. |
---|---|
view |
The annotation view that was deselected. |
Declared In
MRMapView.h
– mapView:didDeselectAnnotationViews:
Called when annotation views are deselected.
- (void)mapView:(MRMapView *)mapView didDeselectAnnotationViews:(NSArray<MRAnnotationView*> *)views
Parameters
mapView |
The map view that’s reporting the event. |
---|---|
views |
The annotation views that are deselected. |
Declared In
MRMapView.h
– mapView:didTapCalloutForAnnotationView:
Called when an annotation callout is tapped.
- (void)mapView:(MRMapView *)mapView didTapCalloutForAnnotationView:(MRAnnotationView *)view
Parameters
mapView |
The map view that’s reporting the event. |
---|---|
view |
The annotation view whose callout was tapped. |
Declared In
MRMapView.h
– viewControllerForMapView:selectedAnnotationView:
Custom View Controller to add to the bottom slide up sheet for a given annotation view
- (nullable MRDBottomSheetAbstractController *)viewControllerForMapView:(MRMapView *)mapView selectedAnnotationView:(MRAnnotationView *)view
Parameters
mapView |
MRMapView containing the annotation view |
---|---|
view |
MRAnnotationView that was selected |
Return Value
MRDBottomSheetAbstractController to be displayed via MRDBottomSheetViewController+addSheetController:toController
Declared In
MRMapView.h
– mapView:locationProviderDidChangeFrom:toProviderType:
Called when our User Location provider changes provider types
- (void)mapView:(nonnull MRMapView *)mapView locationProviderDidChangeFrom:(MRLocationProviderType)previousProviderType toProviderType:(MRLocationProviderType)newProviderType
Parameters
mapView |
MRMapView generating the call |
---|---|
previousProviderType |
previous provider type of the User’s Location |
newProviderType |
new provider for the User’s location |
Declared In
MRMapView.h
– mapView:didRequestMapPickerForMapKey:
Called when someone would like the map picker to be displayed for a specific map key.
- (void)mapView:(MRMapView *)mapView didRequestMapPickerForMapKey:(MREditorKey *)key
Parameters
mapView |
The view that requested the picker. |
---|---|
key |
The Map Editor Key used to select the map(s). |
Declared In
MRMapView.h
– mapView:didLoadFriends:
Called when friends have loaded.
- (void)mapView:(MRMapView *)mapView didLoadFriends:(NSArray<MRFriend*> *)friends
Parameters
mapView |
The map view that loaded the friends. |
---|---|
friends |
An array of |
Declared In
MRMapView.h
– mapPickerDetailStringForMap:
Optional Detail string to add to the maps name on the left of the map list
- (nullable NSString *)mapPickerDetailStringForMap:(nonnull MRMap *)map
Parameters
map |
MRMap to get the detail string for |
---|
Return Value
optional String detail title
Declared In
MRMapView.h
– shouldRespondToUserLocationButton
Notify our delegate that the user location button was tapped
- (BOOL)shouldRespondToUserLocationButton
Return Value
YES
if we should continual handling the tap. NO
if we should stop
the handling of the event.
Declared In
MRMapView.h
– mapView:requestedDirectionsToPlacemark:
Inform our MRMapViewDelegate
that directions were requested to a given placemark
- (void)mapView:(nonnull MRMapView *)mapView requestedDirectionsToPlacemark:(nonnull MRPlacemark *)placemark
Parameters
mapView |
|
---|---|
placemark |
|
Discussion
Note: This method will not be called if a subclass of MRMapViewController
is used.
Declared In
MRMapView.h