DefaultTomTomNavigation
@available(*, deprecated, message: "This API is deprecated and will be removed with the next major release.")
public class DefaultTomTomNavigation : TomTomNavigation
The DefaultTomTomNavigation object defines the functionality of the navigation.
Important
DefaultTomTomNavigation isn’t thread-safe and it’s recommended to make API calls always on the same thread.-
init(locationProvider:dataSourceSelectionEngine: dataStoreMaintenanceEngine: mapMatchingEngine: routeProgressEngine: guidanceEngine: routeTrackingEngine: arrivalDetectionEngine: horizonEngine: routeReplanner: routeReplanningEngine: routeReplanningRetryPolicy: betterProposalAcceptanceMode: deviationReplanningMode: vehicleProvider: usePredictions: ) Creates an instance of
DefaultTomTomNavigation.Important
This is a Public Preview API. It may be changed or removed at any time.Declaration
Swift
public init( locationProvider: LocationProvider, dataSourceSelectionEngine: DataSourceSelectionEngine?, dataStoreMaintenanceEngine: DataStoreMaintenanceEngine?, mapMatchingEngine: MapMatchingEngine, routeProgressEngine: RouteProgressEngine, guidanceEngine: GuidanceEngine, routeTrackingEngine: RouteTrackingEngine?, arrivalDetectionEngine: ArrivalDetectionEngine, horizonEngine: HorizonEngine?, routeReplanner: TomTomSDKRouteReplanner.RouteReplanner, routeReplanningEngine: RouteReplanningEngine, routeReplanningRetryPolicy: ReplanningRetryPolicy, betterProposalAcceptanceMode: BetterProposalAcceptanceMode, deviationReplanningMode: DeviationReplanningMode, vehicleProvider: VehicleProvider, usePredictions: Bool )Parameters
locationProviderThe
LocationProviderto be used during navigation.dataSourceSelectionEngineThe
DataSourceSelectionEngineto be used during navigation.dataStoreMaintenanceEngineThe
DataStoreMaintenanceEngineto be used during navigation.mapMatchingEngineThe
MapMatchingEngineto be used during navigation.routeProgressEngineThe
RouteProgressEngineto be used during navigation.guidanceEngineThe
GuidanceEngineto be used during navigation.routeTrackingEngineThe
RouteTrackingEngineto be used during navigation.arrivalDetectionEngineThe
ArrivalDetectionEngineto be used during navigation.horizonEngineThe
HorizonEngineto be used during navigation.routeReplannerThe
TomTomSDKRouteReplanner.RouteReplannerto be used during navigation.routeReplanningEngineThe
RouteReplanningEngineto be used during navigation.routeReplanningRetryPolicyThe
ReplanningRetryPolicyto be used during navigation for replanning.betterProposalAcceptanceModeThe
BetterProposalAcceptanceModeto be used during navigation.deviationReplanningModeThe
DeviationReplanningModeto be used during navigation.vehicleProviderThe
VehicleProviderto be used during navigation.usePredictionsUse predictions during navigation.
-
init(locationProvider:dataSourceSelectionEngine: dataStoreMaintenanceEngine: mapMatchingEngine: routeProgressEngine: guidanceEngine: routeTrackingEngine: arrivalDetectionEngine: horizonEngine: routeReplanner: routeReplanningEngine: routeReplanningRetryPolicy: betterProposalAcceptanceMode: deviationReplanningMode: vehicleProvider: ) Creates an instance of
DefaultTomTomNavigation.Important
This is a Public Preview API. It may be changed or removed at any time.Declaration
Swift
public convenience init( locationProvider: LocationProvider, dataSourceSelectionEngine: DataSourceSelectionEngine?, dataStoreMaintenanceEngine: DataStoreMaintenanceEngine?, mapMatchingEngine: MapMatchingEngine, routeProgressEngine: RouteProgressEngine, guidanceEngine: GuidanceEngine, routeTrackingEngine: RouteTrackingEngine?, arrivalDetectionEngine: ArrivalDetectionEngine, horizonEngine: HorizonEngine?, routeReplanner: TomTomSDKRouteReplanner.RouteReplanner, routeReplanningEngine: RouteReplanningEngine, routeReplanningRetryPolicy: ReplanningRetryPolicy, betterProposalAcceptanceMode: BetterProposalAcceptanceMode, deviationReplanningMode: DeviationReplanningMode, vehicleProvider: VehicleProvider )Parameters
locationProviderThe
LocationProviderto be used during navigation.dataSourceSelectionEngineThe
DataSourceSelectionEngineto be used during navigation.dataStoreMaintenanceEngineThe
DataStoreMaintenanceEngineto be used during navigation.mapMatchingEngineThe
MapMatchingEngineto be used during navigation.routeProgressEngineThe
RouteProgressEngineto be used during navigation.guidanceEngineThe
GuidanceEngineto be used during navigation.routeTrackingEngineThe
RouteTrackingEngineto be used during navigation.arrivalDetectionEngineThe
ArrivalDetectionEngineto be used during navigation.horizonEngineThe
HorizonEngineto be used during navigation.routeReplannerThe
TomTomSDKRouteReplanner.RouteReplannerto be used during navigation.routeReplanningEngineThe
RouteReplanningEngineto be used during navigation.routeReplanningRetryPolicyThe
ReplanningRetryPolicyto be used during navigation for replanning.betterProposalAcceptanceModeThe
BetterProposalAcceptanceModeto be used during navigation.deviationReplanningModeThe
DeviationReplanningModeto be used during navigation.vehicleProviderThe
VehicleProviderto be used during navigation.
-
Errors that are thrown when removing/adding horizon observer.
See moreImportant
This is a Public Preview API. It may be changed or removed at any time.Declaration
Swift
public enum HorizonError : Error -
Provides access to currently added engines and allows updating them.
Important
This is a Public Preview API. It may be changed or removed at any time.Declaration
Swift
public var navigationEngineRegistry: NavigationEngineRegistry -
The
VehicleProviderused by theDefaultTomTomNavigationfor providing vehicle updates to the navigation.Important
This is a Public Preview API. It may be changed or removed at any time.Declaration
Swift
public let vehicleProvider: VehicleProvider -
The current
NavigationStatewithinDefaultTomTomNavigation.The initial value is set to
idle.To change
DefaultTomTomNavigation/navigationState, seestart(),start(navigationOptions:),stop()andsetActiveRoutePlan(_:).To observe changes to
DefaultTomTomNavigation/navigationStateseeNavigationStateChangeObserver.Important
This is a Public Preview API. It may be changed or removed at any time.Declaration
Swift
public var navigationState: NavigationState { get } -
The current
BetterProposalAcceptanceMode.Important
This is a Public Preview API. It may be changed or removed at any time.Declaration
Swift
public var betterProposalAcceptanceMode: TomTomSDKNavigationEngines.BetterProposalAcceptanceMode { get set } -
The unit system to be used within
TomTomNavigation.Once set, it is propagated to other components (e.g.
GuidanceEngine) and used for the generation of guidance announcements.If the
UnitSystemTypeinstance is dynamic thenunitSystemis resolved based on the country attribute of the current location:- for “USA” and “PRI” it will resolve to
SpecificUnitSystem/imperialFeet. - for “GBR” it will resolve to
SpecificUnitSystem/imperialYards. - for other countries it will resolve to
SpecificUnitSystem/metric.
The default value is
UnitSystemType.default.Important
This is a Public Preview API. It may be changed or removed at any time.Declaration
Swift
public var unitSystem: UnitSystemType { get set } - for “USA” and “PRI” it will resolve to
-
The current language used within
TomTomNavigationin guidance instructions and announcement language. The initial value isLocale.current. To changelanguage, seepreferredLanguage.Important
This is a Public Preview API. It may be changed or removed at any time.Declaration
Swift
public var language: Locale { get } -
The preferred language to be used within
TomTomNavigationin guidance instructions and announcement language.The initial value is
Locale.current. If the initial language is not supported,en-USwill be used instead. Supported languages can be acquired fromGuidanceEngine.availableLanguages.Setting the preferred language updates the route. You can check the updated route language using
language. If the specified language is not supported,en-USwill be used instead.To observe language changes, add:
Important
This is a Public Preview API. It may be changed or removed at any time.Declaration
Swift
public var preferredLanguage: Locale { get set } -
Provides a
CLLocationfor map matching.Important
This is a Public Preview API. It may be changed or removed at any time.Declaration
Swift
public var mapMatchedLocationProvider: LocationProvider { get } -
Provides a
CLLocationfor raw GPS position.Important
This is a Public Preview API. It may be changed or removed at any time.Declaration
Swift
public var locationProvider: LocationProvider { get set } -
A publishable variable that can be used to receive the same events that the delegate presents
Important
This is a Public Preview API. It may be changed or removed at any time.Declaration
Swift
public var eventPublisher: AnyPublisher<NavigationEvent, Never> { get } -
Controls how the route deviations are handled.
When set to
TomTomSDKNavigationEngines/DeviationReplanningMode/automaticthe navigation replans the route automatically. When set toTomTomSDKNavigationEngines/DeviationReplanningMode/nonethe navigation does not replan the route.The default value is
TomTomSDKNavigationEngines/DeviationReplanningMode/automatic.Important
This is a Public Preview API. It may be changed or removed at any time.Declaration
Swift
public var deviationReplanningMode: DeviationReplanningMode { get set } -
The current
TomTomSDKNavigationEngines/NavigationSnapshot.navigationSnapshotisnilat the start of navigation in the following situations:- If the location provider is disabled.
- If the location provider is enabled but unable to find the location.
Note
OncenavigationSnapshotis defined, it remains defined throughout the navigation session.Important
This is a Public Preview API. It may be changed or removed at any time.Declaration
Swift
public var navigationSnapshot: NavigationSnapshot? { get } -
Adds a
NavigationStateChangeObservertoDefaultTomTomNavigation. The observer is notified of changes to thenavigationState.The call is expected on the main queue. The system keeps a weak reference to the observer.
Important
This is a Public Preview API. It may be changed or removed at any time.Declaration
Swift
public func addNavigationStateChangeObserver(_ observer: NavigationStateChangeObserver)Parameters
observerA class that can handle navigation state changes.
-
Removes the
NavigationStateChangeObserverfromDefaultTomTomNavigation. There is no need to remove the observer. If the observer is not removed, the system will clean up when the next event is posted. The call is expected on the main queue. Do not call this method from the deinitializer of the observer, unless you are certain that the observer will be destroyed on the main queue.Important
This is a Public Preview API. It may be changed or removed at any time.Declaration
Swift
public func removeNavigationStateChangeObserver(_ observer: NavigationStateChangeObserver)Parameters
observerA class that can handle navigation state changes.
-
Adds a
LocationMapMatchingObservertoDefaultTomTomNavigation. The call is expected on the main queue. The system keeps a weak reference to the observer.Important
This is a Public Preview API. It may be changed or removed at any time.Declaration
Swift
public func addLocationMapMatchingObserver(_ observer: LocationMapMatchingObserver)Parameters
observerA class that can handle navigation map matching events.
-
Removes the
LocationMapMatchingObserverfromDefaultTomTomNavigation. There is no need to remove the observer. If the observer is not removed, the system will clean up when the next event is posted. The call is expected on the main queue. Do not call this method from the deinitializer of the observer, unless you are certain that the observer will be destroyed on the main queue.Important
This is a Public Preview API. It may be changed or removed at any time.Declaration
Swift
public func removeLocationMapMatchingObserver(_ observer: LocationMapMatchingObserver)Parameters
observerA class that can handle navigation map matching events.
-
Adds a
NavigationProgressObservertoDefaultTomTomNavigation. The call is expected on the main queue. The system keeps a weak reference to the observer.Important
This is a Public Preview API. It may be changed or removed at any time.Declaration
Swift
public func addProgressObserver(_ observer: NavigationProgressObserver)Parameters
observerA class that can handle navigation start events.
-
Removes the
NavigationProgressObserverfromDefaultTomTomNavigation. There is no need to remove the observer. If the observer is not removed, the system will clean up when the next event is posted. The call is expected on the main queue. Do not call this method from the deinitializer of the observer, unless you are certain that the observer will be destroyed on the main queue.Important
This is a Public Preview API. It may be changed or removed at any time.Declaration
Swift
public func removeProgressObserver(_ observer: NavigationProgressObserver)Parameters
observerA class that can handle navigation progress events.
-
Adds a
NavigationRouteAddObservertoNavigation. The call is expected on the main queue. The system keeps a weak reference to the observer.Important
This is a Public Preview API. It may be changed or removed at any time.Declaration
Swift
public func addRouteAddObserver(_ observer: NavigationRouteAddObserver)Parameters
observerA class that can handle navigation route added events.
-
Removes the
NavigationRouteAddObserverfromNavigation. There is no need to remove the observer. If the observer is not removed, the system will clean up when the next event is posted. The call is expected on the main queue. Do not call this method from the deinitializer of the observer, unless you are certain that the observer will be destroyed on the main queue.Important
This is a Public Preview API. It may be changed or removed at any time.Declaration
Swift
public func removeRouteAddObserver(_ observer: NavigationRouteAddObserver)Parameters
observerA class that can handle navigation route added events.
-
Adds a
NavigationRouteRemoveObservertoNavigation. The call is expected on the main queue. The system keeps a weak reference to the observer.Important
This is a Public Preview API. It may be changed or removed at any time.Declaration
Swift
public func addRouteRemoveObserver(_ observer: NavigationRouteRemoveObserver)Parameters
observerA class that can handle navigation route removed events.
-
Removes the
NavigationRouteRemoveObserverfromNavigation. There is no need to remove the observer. If the observer is not removed, the system will clean up when the next event is posted. The call is expected on the main queue. Do not call this method from the deinitializer of the observer, unless you are certain that the observer will be destroyed on the main queue.Important
This is a Public Preview API. It may be changed or removed at any time.Declaration
Swift
public func removeRouteRemoveObserver(_ observer: NavigationRouteRemoveObserver)Parameters
observerA class that can handle navigation route removed events.
-
Adds a
NavigationRouteUpdateObservertoDefaultTomTomNavigation. The call is expected on the main queue. The system keeps a weak reference to the observer.The system keeps a weak reference to the observer.
Important
This is a Public Preview API. It may be changed or removed at any time.Declaration
Swift
public func addRouteUpdateObserver(_ observer: NavigationRouteUpdateObserver)Parameters
observerA class that can handle navigation route updated events.
-
Removes the
NavigationRouteUpdateObserverfromDefaultTomTomNavigation.There is no need to remove the observer. If the observer is not removed, the system will clean up when the next event is posted. The call is expected on the main queue. Do not call this method from the deinitializer of the observer, unless you are certain that the observer will be destroyed on the main queue.
Important
This is a Public Preview API. It may be changed or removed at any time.Declaration
Swift
public func removeRouteUpdateObserver(_ observer: NavigationRouteUpdateObserver)Parameters
observerA class that can handle navigation route updated events.
-
Adds a
NavigationActiveRouteChangeObservertoNavigation. The call is expected on the main queue. The system keeps a weak reference to the observer.Important
This is a Public Preview API. It may be changed or removed at any time.Declaration
Swift
public func addActiveRouteChangeObserver(_ observer: NavigationActiveRouteChangeObserver)Parameters
observerA class that can handle navigation active route changed events.
-
Removes the
NavigationActiveRouteChangeObserverfromNavigation. There is no need to remove the observer. If the observer is not removed, the system will clean up when the next event is posted. The call is expected on the main queue. Do not call this method from the deinitializer of the observer, unless you are certain that the observer will be destroyed on the main queue.Important
This is a Public Preview API. It may be changed or removed at any time.Declaration
Swift
public func removeActiveRouteChangeObserver(_ observer: NavigationActiveRouteChangeObserver)Parameters
observerA class that can handle navigation active route changed events.
-
Adds a
GuidanceUpdateObservertoTomTomNavigation. The call is expected on the main queue. The system keeps a weak reference to the observer.Important
This is a Public Preview API. It may be changed or removed at any time.Declaration
Swift
public func addGuidanceUpdateObserver(_ observer: GuidanceUpdateObserver)Parameters
observerA class that can handle navigation guidance events.
-
Removes the
GuidanceUpdateObserverfromTomTomNavigation. There is no need to remove the observer. If the observer is not removed, the system will clean up when the next event is posted. The call is expected on the main queue. Do not call this method from the deinitializer of the observer, unless you are certain that the observer will be destroyed on the main queue.Important
This is a Public Preview API. It may be changed or removed at any time.Declaration
Swift
public func removeGuidanceUpdateObserver(_ observer: GuidanceUpdateObserver)Parameters
observerA class that can handle navigation guidance events.
-
Adds a
LaneGuidanceUpdateObservertoTomTomNavigation. The call is expected on the main queue. The system keeps a weak reference to the observer.Important
This is a Public Preview API. It may be changed or removed at any time.Declaration
Swift
public func addLaneGuidanceUpdateObserver(_ observer: LaneGuidanceUpdateObserver)Parameters
observerA class that can handle navigation guidance events.
-
Removes a
LaneGuidanceUpdateObserverfromTomTomNavigation. There is no need to remove the observer. If the observer is not removed, the system will clean up when the next event is posted. The call is expected on the main queue. Do not call this method from the deinitializer of the observer, unless you are certain that the observer will be destroyed on the main queue.Important
This is a Public Preview API. It may be changed or removed at any time.Declaration
Swift
public func removeLaneGuidanceUpdateObserver(_ observer: LaneGuidanceUpdateObserver)Parameters
observerA class that can handle navigation guidance events.
-
Adds a
NavigationGuidanceObservertoNavigation. The call is expected on the main queue. The system keeps a weak reference to the observer.Important
This is a Public Preview API. It may be changed or removed at any time.Declaration
Swift
public func addGuidanceObserver(_ observer: NavigationGuidanceObserver)Parameters
observerA class that can handle navigation guidance events.
-
Removes the
NavigationGuidanceObserverfromDefaultTomTomNavigation. There is no need to remove the observer. If the observer is not removed, the system will clean up when the next event is posted. The call is expected on the main queue. Do not call this method from the deinitializer of the observer, unless you are certain that the observer will be destroyed on the main queue.Important
This is a Public Preview API. It may be changed or removed at any time.Declaration
Swift
public func removeGuidanceObserver(_ observer: NavigationGuidanceObserver)Parameters
observerA class that can handle navigation guidance events.
-
Adds a
NavigationLocationContextObservertoDefaultTomTomNavigation. The call is expected on the main queue. The system keeps a weak reference to the observer.Important
This is a Public Preview API. It may be changed or removed at any time.Declaration
Swift
public func addLocationContextObserver(_ observer: NavigationLocationContextObserver)Parameters
observerA class that can handle navigation location context events.
-
Removes the
NavigationLocationContextObserverfromDefaultTomTomNavigation. There is no need to remove the observer. If the observer is not removed, the system will clean up when the next event is posted. The call is expected on the main queue. Do not call this method from the deinitializer of the observer, unless you are certain that the observer will be destroyed on the main queue.Important
This is a Public Preview API. It may be changed or removed at any time.Declaration
Swift
public func removeLocationContextObserver(_ observer: NavigationLocationContextObserver)Parameters
observerA class that can handle navigation location context events.
-
Adds a
NavigationDestinationArrivalObservertoDefaultTomTomNavigation. The call is expected on the main queue. The system keeps a weak reference to the observer.Important
This is a Public Preview API. It may be changed or removed at any time.Declaration
Swift
public func addDestinationArrivalObserver(_ observer: NavigationDestinationArrivalObserver)Parameters
observerA class that can handle navigation arrival events.
-
Removes the
NavigationDestinationArrivalObserverfromDefaultTomTomNavigation. There is no need to remove the observer. If the observer is not removed, the system will clean up when the next event is posted. The call is expected on the main queue. Do not call this method from the deinitializer of the observer, unless you are certain that the observer will be destroyed on the main queue.Important
This is a Public Preview API. It may be changed or removed at any time.Declaration
Swift
public func removeDestinationArrivalObserver(_ observer: NavigationDestinationArrivalObserver)Parameters
observerA class that can handle navigation arrival events.
-
Adds a
NavigationWaypointArrivalObservertoDefaultTomTomNavigation. The call is expected on the main queue. The system keeps a weak reference to the observer.Important
This is a Public Preview API. It may be changed or removed at any time.Declaration
Swift
public func addWaypointArrivalObserver(_ observer: NavigationWaypointArrivalObserver)Parameters
observerA class that can handle navigation arrival events.
-
Removes the
NavigationWaypointArrivalObserverfromDefaultTomTomNavigation. There is no need to remove the observer. If the observer is not removed, the system will clean up when the next event is posted. The call is expected on the main queue. Do not call this method from the deinitializer of the observer, unless you are certain that the observer will be destroyed on the main queue.Important
This is a Public Preview API. It may be changed or removed at any time.Declaration
Swift
public func removeWaypointArrivalObserver(_ observer: NavigationWaypointArrivalObserver)Parameters
observerA class that can handle navigation arrival events.
-
Adds a
NavigationHorizonObservertoDefaultTomTomNavigation. The call is expected on the main queue. The system keeps a weak reference to the observer.Throws
HorizonError.observerAlreadyRegisteredif thisNavigationHorizonObserverobject is already added for horizon updates.HorizonError.optionsAlreadyRegisteredif theseHorizonOptionsare already being observed.Important
This is a Public Preview API. It may be changed or removed at any time.Declaration
Swift
public func addHorizonObserver(_ observer: NavigationHorizonObserver, options: HorizonOptions) throwsParameters
observerA class that can handle navigation horizon events. To add a new observer with the same options, the previous one must be removed first. To add different options with the same observer, the previous one must be removed first.
optionsThe options that define the extent of the paths on the horizon and which map attributes to collect.
-
Removes the
NavigationHorizonObserverfromDefaultTomTomNavigation. This method should be called on the deinitialization of the observer. The call is expected on the main queue.Important
This is a Public Preview API. It may be changed or removed at any time.Declaration
Swift
public func removeHorizonObserver(_ observer: NavigationHorizonObserver) throwsParameters
observerA class that can handle navigation trip events.
-
Adds a
TomTomSDKNavigation/NavigationRouteTrackingStateUpdateObservertoDefaultTomTomNavigation. The call is expected on the main queue. The system keeps a weak reference to the observer.Declaration
Swift
public func addRouteTrackingStateUpdateObserver(_ observer: NavigationRouteTrackingStateUpdateObserver)Parameters
observerA class that can handle navigation follow the route events.
-
Removes the
TomTomSDKNavigation/NavigationRouteTrackingStateUpdateObserverfromDefaultTomTomNavigation. There is no need to remove the observer. If the observer is not removed, the system will clean up when the next event is posted. The call is expected on the main queue. Do not call this method from the deinitializer of the observer, unless you are certain that the observer will be destroyed on the main queue.Declaration
Swift
public func removeRouteTrackingStateUpdateObserver(_ observer: NavigationRouteTrackingStateUpdateObserver)Parameters
observerA class that can handle navigation follow the route events.
-
Adds a
NavigationLanguageChangeObservertoDefaultTomTomNavigation. The call is expected on the main queue. The system keeps a weak reference to the observer.Important
This is a Public Preview API. It may be changed or removed at any time.
Declaration
Swift
public func addLanguageChangeObserver(_ observer: NavigationLanguageChangeObserver)Parameters
observerA class that can handle navigation language change events.
-
Removes the
NavigationLanguageChangeObserverfromDefaultTomTomNavigation. There is no need to remove the observer. If the observer is not removed, the system will clean up when the next event is posted. The call is expected on the main queue. Do not call this method from the deinitializer of the observer, unless you are certain that the observer will be destroyed on the main queue.Important
This is a Public Preview API. It may be changed or removed at any time.
Declaration
Swift
public func removeLanguageChangeObserver(_ observer: NavigationLanguageChangeObserver)Parameters
observerA class that can report on changes to the navigation language.
-
Starts navigation without specifying a
TomTomSDKRoute/Route.Use this method to start the navigation in free driving mode.
Navigation goes through the following steps:
- Providing the
TomTomSDKNavigationEngines/MapMatchingResultviaLocationMapMatchingObserver. - Providing the updated
TomTomSDKNavigationEngines/LocationContextviaNavigationLocationContextObserver. - Providing the updated
TomTomSDKNavigationEngines/HorizonSnapshotviaNavigationHorizonObserver.
As a result of successful action, the following observer is notified:
NavigationStateChangeObserver, with the state set tofreeDriving.
Throws
An error if navigation has already started.
Important
This is a Public Preview API. It may be changed or removed at any time.
Declaration
Swift
public func start() throws - Providing the
-
Starts navigation with the provided
NavigationOptions.Use this method to start the navigation in active guidance mode with the provided
TomTomSDKRoute/Routewithin theNavigationOptions.Navigation goes through the following steps:
- Providing the
TomTomSDKNavigationEngines/MapMatchingResultviaLocationMapMatchingObserver. - Providing the updated
TomTomSDKNavigationEngines/LocationContextviaNavigationLocationContextObserver. - Providing the updated
TomTomSDKNavigationEngines/HorizonSnapshotviaNavigationHorizonObserver.
Additionally, the system performs the following operations for the active, i.e., currently navigated
TomTomSDKRoute/Routewithin theNavigationOptions:- Calculating
TomTomSDKNavigationEngines/RouteProgressand updating viaNavigationProgressObserver. - Checking all followed routes and deviations via
NavigationRouteTrackingStateUpdateObserver. - Generating
TomTomSDKNavigationEngines/GuidanceviaGuidanceUpdateObserver. - Detecting arrival, possibly calling
NavigationDestinationArrivalObserverorNavigationWaypointArrivalObserver.
As a result of successful action, the following observer is notified:
NavigationStateChangeObserver, with the state set toactiveGuidance.NavigationRouteAddObserver, with theTomTomSDKRoute/RouteandTomTomSDKRoutePlanner/RoutePlanningOptionsset inactiveRoutePlan, andnavigationStarted.NavigationActiveRouteChangeObserver, with theTomTomSDKRoute/Routeset inactiveRoutePlan.
Throws
An error if navigation has already started or if
NavigationOptionsare incompatible with navigation configuration.Important
This is a Public Preview API. It may be changed or removed at any time.
Declaration
Swift
public func start(navigationOptions: NavigationOptions) throwsParameters
navigationOptionsDetails of the navigation options for starting the navigation session.
TomTomSDKCommon/Vehicleprovided for navigation must be compatible with the givenactiveRoutePlan. - Providing the
-
Updates the route plan during ongoing navigation.
The following listeners are notified:
NavigationRouteUpdateObserver/didUpdateRoute(route:options:reason:)with the updatedRoute,RoutePlanniningOptionsandRouteUpdatedReason/manuallyUpdatedif current route does not contain the providedrouteId, the method does not update the route.didChangeActiveRoute(route:)with theRouteif active route has changed.didRemoveRoute(route:reason:)with all other routes except the activeRouteandmanual.
Throws
An error if
RoutePlanis incompatible with navigation configuration.Important
This is a Public Preview API. It may be changed or removed at any time.
Declaration
Swift
public func setActiveRoutePlan(_ routePlan: RoutePlan) throws -
Selects the
Routewith providedrouteIDas active.The navigation switches to navigate along the desired route and the following listeners are notified:
didChangeActiveRoute(route:)withRouteselected byrouteID.didRemoveRoute(route:reason:)with the previously activeRouteandmanualIf theRoutecorresponding to the givenrouteIdis not available, changing does not occur.
Declaration
Swift
public func selectActiveRoute(routeId: UUID)Parameters
routeIdUUIDid of route that should be selected. -
Marks a departure from the given waypoint independently from
ArrivalDetectionEngine/hasArrivedAtWaypoint.The specified
waypointis marked as having been departed from andNavigationWaypointArrivalObserverare notified about this viaNavigationDestinationArrivalObserver/didArriveAtWaypoint(waypoint:on:). Notification viaNavigationDestinationArrivalObserver/didArriveAtWaypoint(waypoint:on:)completes arrival detection for that particularwaypoint. Navigation switches to arrival detection for the nextwaypoint, if one is present.Prerequisites for this action:
- A
didArriveAtWaypoint(waypoint:on:)notification was previously issued for thiswaypoint. No
didDepartFromWaypoint(waypoint:on:)notification was previously issued for thiswaypoint.
Throws
nextWaypointErrorif calling requirements are not met.Declaration
Swift
public func departFromWaypoint(waypoint: RouteStop) throwsParameters
waypointThe waypoint to depart from.
- A
-
Stops current navigation session and clears data related to it.
If start has not been called previously, this method has no effect.
As a result of successful action, the following observer is notified:
NavigationStateChangeObserver, with the state set toidle.
Important
This is a Public Preview API. It may be changed or removed at any time.Declaration
Swift
public func stop()
TomTom SDK for iOS (0.53.1)
DefaultTomTomNavigation