HorizonEngine

public protocol HorizonEngine

Defines the interface to the horizon engine. The horizon engine generates vehicle horizon data based on previously registered horizon subscription options, which define the length of the horizon paths and what map data is collected for these paths. The client of the horizon engine can register multiple sets of horizon subscription options and request the engine to provide horizon data for all or some of these sets of options. The client of the engine can also update the subscription by registering a new set of subscription options or unregistering a previously registered set.

Important

This is a Public Preview API. It may be changed or removed at any time.
  • Registers a set of horizon subscription options. The client uses subscription options to define the extent of the paths in the horizon and the map attributes that are collected about these paths.

    Declaration

    Swift

    func registerHorizonOptions(options: HorizonOptions) throws

    Parameters

    options

    The requested HorizonOptions.

  • Unregisters a previously registered set of horizon subscription options. If the set of horizon options passed to this function was not previously registered, the engine will report a warning and return immediately.

    Declaration

    Swift

    func unregisterHorizonOptions(options: HorizonOptions) throws

    Parameters

    options

    The requested HorizonOptions.

  • Provides horizon data for the given location, based on a list of previously registered sets of horizon subscription options.

    Declaration

    Swift

    func generateHorizon(
        options: [HorizonOptions],
        navigationSnapshot: NavigationSnapshot
    ) throws -> [HorizonResponse]

    Parameters

    options

    List of requested Horizon Options.

    session

    The current navigation snapshot.

    Return Value

    An array with vehicle horizon results.