-
CarPlayManager
is the main object responsible for orchestrating interactions with a Mapbox map on CarPlay.Messages declared in the
CPApplicationDelegate
protocol should be sent to this object in the containing application’s application delegate. ImplementCarPlayManagerDelegate
in the containing application and assign an instance to thedelegate
property of yourCarPlayManager
instance.Note
It is very important you have a single
CarPlayManager
instance at any given time. This should be managed by yourUIApplicationDelegate
class if you choose to supply youraccessToken
to theCarPlayManager.eventsManager
viaNavigationEventsManager
initializer, instead of the Info.plist.Important
CarPlayManager
view will start a Free Drive session by default when CarPlay interface is connected. You can change default behavior usingCarPlayManager.startFreeDriveAutomatically
property. For more information, see the “Pricing” guide.Declaration
Swift
public class CarPlayManager : NSObject
extension CarPlayManager: CPApplicationDelegate
extension CarPlayManager: CPInterfaceControllerDelegate
extension CarPlayManager: CPMapTemplateDelegate
extension CarPlayManager: CarPlayNavigationViewControllerDelegate
extension CarPlayManager: CarPlayMapViewControllerDelegate
-
CarPlayManagerDelegate
is the main integration point for Mapbox CarPlay support.Implement this protocol and assign an instance to the
delegate
property of the shared instance ofCarPlayManager
.If no delegate is set, a default built-in
See moreMapboxNavigationService
will be created and used when a trip begins.Declaration
Swift
public protocol CarPlayManagerDelegate : AnyObject, UnimplementedLogging, CarPlayManagerDelegateDeprecations
-
CarPlayNavigationViewController
is a fully-featured turn-by-turn navigation UI for CarPlay.Seealso
NavigationViewController
Declaration
Swift
open class CarPlayNavigationViewController : UIViewController, BuildingHighlighting
extension CarPlayNavigationViewController: StyleManagerDelegate
extension CarPlayNavigationViewController: NavigationServiceDelegate
extension CarPlayNavigationViewController: NavigationMapViewDelegate
extension CarPlayNavigationViewController: CPSessionConfigurationDelegate
extension CarPlayNavigationViewController: CPListTemplateDelegate
-
The
See moreCarPlayNavigationViewControllerDelegate
protocol provides methods for reacting to significant events during turn-by-turn navigation withCarPlayNavigationViewController
.Declaration
Swift
public protocol CarPlayNavigationViewControllerDelegate : AnyObject, UnimplementedLogging
-
The activity during which a
See moreCPTemplate
is displayed. This enumeration is used to distinguish between different templates during different phases of user interaction.Declaration
Swift
public enum CarPlayActivity : Int
-
A control indicating the direction that the vehicle is traveling towards.
See moreDeclaration
Swift
open class CarPlayCompassView : StylableView
-
CarPlayMapViewController
is responsible for administering the Mapbox map, the interface styles and the map template buttons to display on CarPlay.Important
LoadingCarPlayMapViewController
view will start a Free Drive session by default. You can change default behavior usingCarPlayMapViewController.startFreeDriveAutomatically
property. For more information, see the “Pricing” guide.Declaration
Swift
open class CarPlayMapViewController : UIViewController
extension CarPlayMapViewController: StyleManagerDelegate
extension CarPlayMapViewController: NavigationMapViewDelegate
extension CarPlayMapViewController: CPSessionConfigurationDelegate
-
The
See moreCarPlayMapViewControllerDelegate
protocol provides methods for reacting to events during free-drive navigation or route previewing inCarPlayMapViewController
.Declaration
Swift
public protocol CarPlayMapViewControllerDelegate : AnyObject, UnimplementedLogging
-
CarPlaySearchController
is the main object responsible for managing the search feature on CarPlay.Messages declared in the
CPApplicationDelegate
protocol should be sent to this object in the containing application’s application delegate. ImplementCarPlaySearchControllerDelegate
in the containing application and assign an instance to thedelegate
property of yourCarPlaySearchController
instance.Note
It is very important you have a singleCarPlaySearchController
instance at any given time.Declaration
Swift
public class CarPlaySearchController : NSObject
extension CarPlaySearchController: CPSearchTemplateDelegate
extension CarPlaySearchController: CPListTemplateDelegate
-
Delegate, which is used to control behavior based on certain actions from the user when performing search on CarPlay.
See moreDeclaration
Swift
public protocol CarPlaySearchControllerDelegate : CPSearchTemplateDelegate
-
The CarPlayConnectionObserver protocol provides notification of a carplay unit connecting two the NavigationViewController.
See moreDeclaration
Swift
public protocol CarPlayConnectionObserver : AnyObject
-
Struct, which represents recently found search item on CarPlay. When storing recent items in an array use dedicated methods for addition:
See more[RecentItem].add(_:)
, and removal:[RecentItem].remove(_:)
.Declaration
Swift
public struct RecentItem : Equatable, Codable
-
A struct that represents the result of a geocoding request, containing information for display to the user and locations for navigation.
See moreDeclaration
Swift
public struct NavigationGeocodedPlacemark : Equatable, Codable
-
Dictionary, which contains any custom user info related data on CarPlay (for example it’s used by
CPTrip
, while filling it withCPRouteChoice
objects or for storing user information inCPListItem
).In case if
CPRouteChoice
,CPListItem
or otherCarPlayUserInfo
dependant object uses different type inuserInfo
it may lead to undefined behavior.Declaration
Swift
public typealias CarPlayUserInfo = [String : Any?]