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 and LaneGuidance 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 provides functionality related to information about a matched location.

    Declaration

    Swift

    var locationContextProviderEngine: LocationContextProviderEngine { 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 }
  • 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?,
        locationContextProviderEngine: LocationContextProviderEngine?,
        arrivalDetectionEngine: ArrivalDetectionEngine?,
        routeProjectionEngine: RouteProjectionEngine?,
        dataSourceSelectionEngine: DataSourceSelectionEngine?,
        dataStoreMaintenanceEngine: DataStoreMaintenanceEngine?,
        completion: (() -> ())?
    )

    Parameters

    completion

    Invoked when update of the engines is completed.

NavigationEngineRegistry