NavigationEngineRegistry
public protocol NavigationEngineRegistry : AnyObject
Provides access to current registered engines and allows updating them.
Important
This is a Public Preview API. It may be changed or removed at any time.-
The current engine that provides map matching functionality.
Declaration
Swift
var mapMatchingEngine: MapMatchingEngine { get }
-
The current engine that manages replanning a route.
Declaration
Swift
var routeReplanningEngine: RouteReplanningEngine { get }
-
The current engine that generates
Guidance
andLaneGuidance
related to upcoming road maneuvers.Declaration
Swift
var guidanceEngine: GuidanceEngine { get }
-
The current engine that manages the horizon data.
Declaration
Swift
var horizonEngine: HorizonEngine? { get }
-
The current engine that provides functionality to determine if the driver is tracking the routes.
Declaration
Swift
var routeTrackingEngine: RouteTrackingEngine { get }
-
The current engine that provides functionality related to the calculation of progress along the route.
Declaration
Swift
var routeProgressEngine: RouteProgressEngine { get }
-
The current engine that detects arrival at the destination.
Declaration
Swift
var arrivalDetectionEngine: ArrivalDetectionEngine { get }
-
The current engine that manages projecting the input route to obtain map references if they are not provided.
Declaration
Swift
var routeProjectionEngine: RouteProjectionEngine? { get }
-
The current engine that processes the map data source.
Declaration
Swift
var dataSourceSelectionEngine: DataSourceSelectionEngine? { get }
-
The current engine that provides an interface for updating the data store.
Declaration
Swift
var dataStoreMaintenanceEngine: DataStoreMaintenanceEngine? { get }
-
updateEngines(mapMatchingEngine:
routeReplanningEngine: guidanceEngine: horizonEngine: routeTrackingEngine: routeProgressEngine: arrivalDetectionEngine: routeProjectionEngine: dataSourceSelectionEngine: dataStoreMaintenanceEngine: completion: ) Sets new engines. Provide a new instance or pass
nil
to not change current engine.Important
The method may execute an update asynchronously. Use
completion
parameter to get notified when an update completed.Declaration
Swift
func updateEngines( mapMatchingEngine: MapMatchingEngine?, routeReplanningEngine: RouteReplanningEngine?, guidanceEngine: GuidanceEngine?, horizonEngine: HorizonEngine?, routeTrackingEngine: RouteTrackingEngine?, routeProgressEngine: RouteProgressEngine?, arrivalDetectionEngine: ArrivalDetectionEngine?, routeProjectionEngine: RouteProjectionEngine?, dataSourceSelectionEngine: DataSourceSelectionEngine?, dataStoreMaintenanceEngine: DataStoreMaintenanceEngine?, completion: (() -> ())? )
Parameters
mapMatchingEngine
The
MapMatchingEngine
instance to be used in navigation. Defaults to nil.routeReplanningEngine
The
RouteReplanningEngine
instance to be used in navigation. Defaults to nil.guidanceEngine
The
GuidanceEngine
instance to be used in navigation. Defaults to nil.horizonEngine
The
HorizonEngine
instance to be used in navigation. Defaults to nil.routeTrackingEngine
The
RouteTrackingEngine
instance to be used in navigation. Defaults to nil.routeProgressEngine
The
RouteProgressEngine
instance to be used in navigation. Defaults to nil.arrivalDetectionEngine
The
ArrivalDetectionEngine
instance to be used in navigation. Defaults to nil.routeProjectionEngine
The
RouteProjectionEngine
instance to be used in navigation. Defaults to nil.dataSourceSelectionEngine
The
DataSourceSelectionEngine
instance to be used in navigation. Defaults to nil.dataStoreMaintenanceEngine
The
DataStoreMaintenanceEngine
instance to be used in navigation. Defaults to nil.completion
executed once all engines are updated.
-
updateEngines(mapMatchingEngine:
Extension methodrouteReplanningEngine: guidanceEngine: horizonEngine: routeTrackingEngine: routeProgressEngine: arrivalDetectionEngine: routeProjectionEngine: dataStoreMaintenanceEngine: dataSourceSelectionEngine: completion: ) Convenient method to set new engines, nil values will not be updated.
Important
This is a Public Preview API. It may be changed or removed at any time.Declaration
Swift
public func updateEngines( mapMatchingEngine: MapMatchingEngine? = nil, routeReplanningEngine: RouteReplanningEngine? = nil, guidanceEngine: GuidanceEngine? = nil, horizonEngine: HorizonEngine? = nil, routeTrackingEngine: RouteTrackingEngine? = nil, routeProgressEngine: RouteProgressEngine? = nil, arrivalDetectionEngine: ArrivalDetectionEngine? = nil, routeProjectionEngine: RouteProjectionEngine? = nil, dataStoreMaintenanceEngine: DataStoreMaintenanceEngine? = nil, dataSourceSelectionEngine: DataSourceSelectionEngine? = nil, completion: (() -> ())? = nil )
Parameters
mapMatchingEngine
The
MapMatchingEngine
instance to be used in navigation. Defaults to nil.routeReplanningEngine
The
RouteReplanningEngine
instance to be used in navigation. Defaults to nil.guidanceEngine
The
GuidanceEngine
instance to be used in navigation. Defaults to nil.horizonEngine
The
HorizonEngine
instance to be used in navigation. Defaults to nil.routeTrackingEngine
The
RouteTrackingEngine
instance to be used in navigation. Defaults to nil.routeProgressEngine
The
RouteProgressEngine
instance to be used in navigation. Defaults to nil.arrivalDetectionEngine
The
ArrivalDetectionEngine
instance to be used in navigation. Defaults to nil.routeProjectionEngine
The
RouteProjectionEngine
instance to be used in navigation. Defaults to nil.dataStoreMaintenanceEngine
The
DataStoreMaintenanceEngine
instance to be used in navigation. Defaults to nil.dataSourceSelectionEngine
The
DataSourceSelectionEngine
instance to be used in navigation. Defaults to nil.completion
executed once all engines are updated.