---
title: CPMapTemplateDelegate
framework: carplay
role: symbol
role_heading: Protocol
path: carplay/cpmaptemplatedelegate
---

# CPMapTemplateDelegate

The protocol an object implements to handle events from a map template.

## Declaration

```swift
@MainActor protocol CPMapTemplateDelegate : NSObjectProtocol
```

## Topics

### Setting the Display Style

- [mapTemplate(_:displayStyleFor:)](carplay/cpmaptemplatedelegate/maptemplate(_:displaystylefor:).md)
- [CPManeuverDisplayStyle](carplay/cpmaneuverdisplaystyle.md)

### Handling Navigation Events

- [mapTemplate(_:selectedPreviewFor:using:)](carplay/cpmaptemplatedelegate/maptemplate(_:selectedpreviewfor:using:).md)
- [mapTemplate(_:startedTrip:using:)](carplay/cpmaptemplatedelegate/maptemplate(_:startedtrip:using:).md)
- [mapTemplateDidCancelNavigation(_:)](carplay/cpmaptemplatedelegate/maptemplatedidcancelnavigation(_:).md)
- [mapTemplateShouldProvideNavigationMetadata(_:)](carplay/cpmaptemplatedelegate/maptemplateshouldprovidenavigationmetadata(_:).md)

### Displaying Notifications

- [mapTemplate(_:shouldShowNotificationFor:)](carplay/cpmaptemplatedelegate/maptemplate(_:shouldshownotificationfor:)-4mnm1.md)
- [mapTemplate(_:shouldUpdateNotificationFor:with:)](carplay/cpmaptemplatedelegate/maptemplate(_:shouldupdatenotificationfor:with:).md)
- [mapTemplate(_:shouldShowNotificationFor:)](carplay/cpmaptemplatedelegate/maptemplate(_:shouldshownotificationfor:)-5lu8a.md)

### Handling Navigation Alerts

- [mapTemplate(_:willShow:)](carplay/cpmaptemplatedelegate/maptemplate(_:willshow:).md)
- [mapTemplate(_:didShow:)](carplay/cpmaptemplatedelegate/maptemplate(_:didshow:).md)
- [mapTemplate(_:willDismiss:dismissalContext:)](carplay/cpmaptemplatedelegate/maptemplate(_:willdismiss:dismissalcontext:).md)
- [mapTemplate(_:didDismiss:dismissalContext:)](carplay/cpmaptemplatedelegate/maptemplate(_:diddismiss:dismissalcontext:).md)
- [CPNavigationAlert.DismissalContext](carplay/cpnavigationalert/dismissalcontext.md)

### Panning the Map

- [mapTemplateDidShowPanningInterface(_:)](carplay/cpmaptemplatedelegate/maptemplatedidshowpanninginterface(_:).md)
- [mapTemplateWillDismissPanningInterface(_:)](carplay/cpmaptemplatedelegate/maptemplatewilldismisspanninginterface(_:).md)
- [mapTemplateDidDismissPanningInterface(_:)](carplay/cpmaptemplatedelegate/maptemplatediddismisspanninginterface(_:).md)
- [mapTemplateDidBeginPanGesture(_:)](carplay/cpmaptemplatedelegate/maptemplatedidbeginpangesture(_:).md)
- [mapTemplate(_:panBeganWith:)](carplay/cpmaptemplatedelegate/maptemplate(_:panbeganwith:).md)
- [mapTemplate(_:panWith:)](carplay/cpmaptemplatedelegate/maptemplate(_:panwith:).md)
- [mapTemplate(_:panEndedWith:)](carplay/cpmaptemplatedelegate/maptemplate(_:panendedwith:).md)
- [CPMapTemplate.PanDirection](carplay/cpmaptemplate/pandirection.md)
- [mapTemplate(_:didEndPanGestureWithVelocity:)](carplay/cpmaptemplatedelegate/maptemplate(_:didendpangesturewithvelocity:).md)
- [mapTemplate(_:didUpdatePanGestureWithTranslation:velocity:)](carplay/cpmaptemplatedelegate/maptemplate(_:didupdatepangesturewithtranslation:velocity:).md)

### Instance Methods

- [mapTemplate(_:didEndZoomGestureWithVelocity:)](carplay/cpmaptemplatedelegate/maptemplate(_:didendzoomgesturewithvelocity:).md)
- [mapTemplate(_:didFailToShareDestinationFor:error:)](carplay/cpmaptemplatedelegate/maptemplate(_:didfailtosharedestinationfor:error:).md)
- [mapTemplate(_:didReceiveRequestForDestination:)](carplay/cpmaptemplatedelegate/maptemplate(_:didreceiverequestfordestination:).md)
- [mapTemplate(_:didReceiveUpdatedRouteSource:)](carplay/cpmaptemplatedelegate/maptemplate(_:didreceiveupdatedroutesource:).md)
- [mapTemplate(_:didRequestMultiStopCardConfigurationWithCompletion:)](carplay/cpmaptemplatedelegate/maptemplate(_:didrequestmultistopcardconfigurationwithcompletion:).md)
- [mapTemplate(_:didRequestToInsert:into:completion:)](carplay/cpmaptemplatedelegate/maptemplate(_:didrequesttoinsert:into:completion:).md)
- [mapTemplate(_:didRequestToRemove:)](carplay/cpmaptemplatedelegate/maptemplate(_:didrequesttoremove:).md)
- [mapTemplate(_:didRequestToRemoveDestination:)](carplay/cpmaptemplatedelegate/maptemplate(_:didrequesttoremovedestination:).md)
- [mapTemplate(_:didRotateWithCenter:rotation:velocity:)](carplay/cpmaptemplatedelegate/maptemplate(_:didrotatewithcenter:rotation:velocity:).md)
- [mapTemplate(_:didShareDestinationFor:)](carplay/cpmaptemplatedelegate/maptemplate(_:didsharedestinationfor:).md)
- [mapTemplate(_:didUpdateZoomGestureWithCenter:scale:velocity:)](carplay/cpmaptemplatedelegate/maptemplate(_:didupdatezoomgesturewithcenter:scale:velocity:).md)
- [mapTemplate(_:pitchEndedWithCenter:)](carplay/cpmaptemplatedelegate/maptemplate(_:pitchendedwithcenter:).md)
- [mapTemplate(_:pitchWithCenter:)](carplay/cpmaptemplatedelegate/maptemplate(_:pitchwithcenter:).md)
- [mapTemplate(_:rotationDidEndWithVelocity:)](carplay/cpmaptemplatedelegate/maptemplate(_:rotationdidendwithvelocity:).md)
- [mapTemplate(_:waypoint:accepted:forSegment:)](carplay/cpmaptemplatedelegate/maptemplate(_:waypoint:accepted:forsegment:).md)
- [mapTemplate(_:willShareDestinationFor:)](carplay/cpmaptemplatedelegate/maptemplate(_:willsharedestinationfor:).md)
- [mapTemplateDidBeginPitchGesture(_:)](carplay/cpmaptemplatedelegate/maptemplatedidbeginpitchgesture(_:).md)
- [mapTemplateDidBeginRotationGesture(_:)](carplay/cpmaptemplatedelegate/maptemplatedidbeginrotationgesture(_:).md)
- [mapTemplateDidBeginZoomGesture(_:)](carplay/cpmaptemplatedelegate/maptemplatedidbeginzoomgesture(_:).md)
- [mapTemplateShouldProvideMultiStopRouting(_:)](carplay/cpmaptemplatedelegate/maptemplateshouldprovidemultistoprouting(_:).md)
- [mapTemplateShouldProvideRouteSharing(_:)](carplay/cpmaptemplatedelegate/maptemplateshouldprovideroutesharing(_:).md)

## Relationships

### Inherits From

- [NSObjectProtocol](objectivec/nsobjectprotocol.md)

## See Also

### Handling Map Template Events

- [mapDelegate](carplay/cpmaptemplate/mapdelegate.md)
