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

    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.

    locationContextProviderEngine

    The LocationContextProviderEngine 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.

NavigationEngineRegistry

  • 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,
        locationContextProviderEngine: LocationContextProviderEngine? = 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.

    locationContextProviderEngine

    The LocationContextProviderEngine 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.