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 *)mapParameters
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 *)mapViewParameters
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
Declared In
MRMapView.h
– mapViewWillStartLoadingMap:
Called when the map view is about to load a map.
- (void)mapViewWillStartLoadingMap:(MRMapView *)mapViewParameters
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 *)mapViewParameters
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)errorParameters
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 *)mapViewParameters
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 *)routeParameters
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)indexParameters
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 *)stepParameters
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)animatedParameters
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)annotationParameters
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*> *)viewsParameters
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.
- (nullable MRPathRenderer *)mapView:(MRMapView *)mapView rendererForOverlay:(MRPathOverlay *)overlayParameters
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*> *)renderersParameters
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*> *)placemarksParameters
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*> *)tagsParameters
mapView |
The map view that loaded the tags. |
|---|---|
tags |
An array of |
Declared In
MRMapView.h
– mapView:didUpdateTag:
Called when a tag has been updated.
- (void)mapView:(MRMapView *)mapView didUpdateTag:(MRTag *)tagParameters
mapView |
the map view that received the update |
|---|---|
tag |
The tag that was updated. |
Discussion
Note: on maps with lots of tags this will be called very frequently
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 *)viewParameters
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 *)viewParameters
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*> *)viewsParameters
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 *)viewParameters
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*> *)viewsParameters
mapView |
The map view that’s reporting the event. |
|---|---|
views |
The annotation views that are deselected. |
Declared In
MRMapView.h
– mapView:didHighlightAnnotations:
Called after annotations are marked as highlighted. Use MRMapView’s viewForAnnotation: to get the current view for the highlighted annotation. Depending on the map’s zoom level, annotations can frequently switch between their normal selected/highlighted annotation view and an MRDClusteredAnnotationView. If you are subclassing MRMapViewController your implementation should call super.
- (void)mapView:(MRMapView *)mapView didHighlightAnnotations:(NSArray<MRAnnotation> *)annotationsParameters
mapView |
The mapView that’s reporting the event. |
|---|---|
annotations |
The highlighted annotations. |
Declared In
MRMapView.h
– mapView:didUnhighlightAnnotations:
Called after highlighted annotations are unhighlighted.
- (void)mapView:(MRMapView *)mapView didUnhighlightAnnotations:(NSArray<MRAnnotation> *)annotationsParameters
mapView |
The mapView that’s reporting the event. |
|---|---|
annotations |
The unhighlighted annotation views. |
Declared In
MRMapView.h
– mapView:willTapOverlay:
Called just before an MRPathOverlay tap gets processed. Return nil if the MRPathOverlay should not be processed.
- (MRPathOverlay *)mapView:(MRMapView *)mapView willTapOverlay:(MRPathOverlay *)overlayParameters
mapView |
The map view that’s reporting the event. |
|---|---|
overlay |
The MRPathOverlay that’s about to be processed. |
Declared In
MRMapView.h
– mapView:didTapOverlay:
Process the MRPathOverlay tap
- (void)mapView:(MRMapView *)mapView didTapOverlay:(MRPathOverlay *)overlayParameters
mapView |
The map view that’s reporting the event. |
|---|---|
overlay |
The MRPathOverlay to be processed. |
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 *)viewParameters
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)newProviderTypeParameters
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 *)keyParameters
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*> *)friendsParameters
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 *)mapParameters
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)shouldRespondToUserLocationButtonReturn 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 *)placemarkParameters
mapView |
|
|---|---|
placemark |
|
Discussion
Note: This method will not be called if a subclass of MRMapViewController is used.
Declared In
MRMapView.h
– mapViewTapped:
The map was tapped, without any sort of overlay or placemark selection being triggered.
- (void)mapViewTapped:(nonnull MRMapView *)mapViewParameters
mapView |
|
|---|
Discussion
Note: MRMapViewController’s default implementation uses this to deselect any selected annotations.
Declared In
MRMapView.h