Structures

The following structures are available globally.

  • Important

    This is a Public Preview API. It may be changed or removed at any time.
    See more

    Declaration

    Swift

    public struct DestinationArrivalStatus
  • Holds arrival status to a unique waypoint.

    Important

    This is a Public Preview API. It may be changed or removed at any time.
    See more

    Declaration

    Swift

    public struct WaypointArrivalStatus

GuidanceAnnouncement

  • Guidance announcement relating to a maneuver during navigation. The announcement text message is provided in both Speech Synthesis Markup Language (SSML) and plain-text formats.

    See more

    Declaration

    Swift

    public struct GuidanceAnnouncement : Equatable

Guidance

  • Guidance update provided while navigating a route, including the list of upcoming instructions, guidance announcement and distance to the next maneuver.

    See more

    Declaration

    Swift

    public struct Guidance

ArrivalGuidanceInstruction

BorderCrossing

  • Indicates a border crossing between two countries.

    See more

    Declaration

    Swift

    public struct BorderCrossing

BorderCrossingGuidanceInstruction

Country

  • Country information.

    See more

    Declaration

    Swift

    public struct Country : Equatable

DepartureGuidanceInstruction

EnterAutoTransportGuidanceInstruction

EnterCarpoolLaneGuidanceInstruction

ExitCarpoolLaneGuidanceInstruction

ExitHighwayGuidanceInstruction

ExitRoundaboutGuidanceInstruction

FollowGuidanceInstruction

ForkGuidanceInstruction

MandatoryTurnGuidanceInstruction

MergeGuidanceInstruction

Road

RoundaboutGuidanceInstruction

Signpost

SwitchHighwayGuidanceInstruction

TollgateGuidanceInstruction

TurnAroundWhenPossibleGuidanceInstruction

TurnGuidanceInstruction

WaypointGuidanceInstruction

  • Guidance Instruction indicating that a waypoint on the route is reached.

    See more

    Declaration

    Swift

    public struct WaypointGuidanceInstruction : GuidanceInstruction
  • Contains information about lane guidance.

    Lanes are stored in order from curb side to middle side. That is, in left-hand driving locales such as Japan, the lanes are ordered from left to right, while in right-hand driving locales such as the USA, the lanes are ordered from right to left.

    See more

    Declaration

    Swift

    public struct LaneGuidance

LaneGuidanceUpdate

LocationContext

  • Location context contains detailed information about the current location during navigating.

    To retrieve location context:

    • implement the NavigationLocationContextObserver protocol
    • register the observer using the TomTomNavigation.addLocationContextObserver(_:) method of the initialized TomTomNavigation object After navigation has started (with or without a route), you will receive LocationContext via the NavigationLocationContextObserver.didDetectLocationContext(locationContext:) method. “`

    class NavigationLocationContextObserverImpl : NavigationLocationContextObserver { override func didDetectLocationContext(locationContext: LocationContext) {} }

    private let navigationLocationContextObserver = NavigationLocationContextObserverImpl() … tomTomNavigation.addLocationContextObserver(navigationLocationContextObserver)

    See more

    Declaration

    Swift

    public struct LocationContext : Equatable

MapMatchingResult

  • The MapMatchingResult provides information about the matched location and its details.

    Important

    This is a Public Preview API. It may be changed or removed at any time.
    See more

    Declaration

    Swift

    public struct MapMatchingResult
  • The RouteProgress class provides information about the driver’s progress along the route.

    Important

    This is a Public Preview API. It may be changed or removed at any time.
    See more

    Declaration

    Swift

    public struct RouteProgress

RouteStopProgress

  • Represents current progress along the route till given TomTomSDKRoute/RouteStop.

    See more

    Declaration

    Swift

    public struct RouteStopProgress
  • Represents a projected route with missing map reference data.

    Important

    This is a Public Preview API. It may be changed or removed at any time.
    See more

    Declaration

    Swift

    public struct ProjectedRoute
  • Describes part of the ProjectedRoute.

    Important

    This is a Public Preview API. It may be changed or removed at any time.
    See more

    Declaration

    Swift

    public struct ProjectedRouteSection
  • ActiveRouteData stores the active route and an optional better route proposal.

    Important

    This is a Public Preview API. It may be changed or removed at any time.
    See more

    Declaration

    Swift

    public struct ActiveRouteData

NavigationSnapshot

  • Navigation snapshot containing information about the state of the trip at a certain moment

    Important

    This is a Public Preview API. It may be changed or removed at any time.
    See more

    Declaration

    Swift

    public struct NavigationSnapshot

RouteTrackingState

  • Represents the tracking states for followed and unfollowed routes within the NavigationSession.

    Important

    This is a Public Preview API. It may be changed or removed at any time.
    See more

    Declaration

    Swift

    public struct RouteTrackingState

UnfollowedRoute

  • Represents the routes that are not currently followed (unfollowed) within the NavigationSession. An unfollowed route comprises a Route within the NavigationSession that is not currently followed and a back-to-route point. This is the closest point on the route to the current location.

    Important

    This is a Public Preview API. It may be changed or removed at any time.
    See more

    Declaration

    Swift

    public struct UnfollowedRoute
  • Keeps the state of the waypoints in the current route, providing methods to change the state (as necessary).

    Important

    This is a Public Preview API. It may be changed or removed at any time.
    See more

    Declaration

    Swift

    public struct RouteWaypointsState

RoutePlan

  • Route plan defines parameters required for a single route in navigation session.

    To specify a route plan, first plan a TomTomSDKRoute/Route using TomTomSDKRoutePlanner/RoutePlanner and TomTomSDKRoutePlanner/RoutePlanningOptions.

    For more information on navigation session see TomTomNavigation/start(), TomTomNavigation/start(_:), TomTomNavigation/update(_:) and TomTomNavigation/stop().

    See more

    Declaration

    Swift

    public struct RoutePlan
  • HorizonElement that contains data about a city.

    To receive such elements in the horizon snapshot HorizonSnapshot, specify HorizonElementType.cityType in the HorizonOptions that you register with the HorizonEngine:

    let horizonOptions = HorizonOptions(
        id: UUID(),
        elementTypes: [.cityType],
        ...
    )
    

    Important

    This is a Public Preview API. It may be changed or removed at any time.
    See more

    Declaration

    Swift

    public struct CityElement : HorizonElement

CountryInformationElement

RegionalSpeedLimit

  • SpeedLimit that is specific to a region in a country.

    Important

    This is a Public Preview API. It may be changed or removed at any time.
    See more

    Declaration

    Swift

    public struct RegionalSpeedLimit : Equatable

DangerousGoodsRestrictionElement

GeneralRoadPropertiesElement

SpeedLimitElement

VehicleRestrictionElement

  • HorizonElement that contains data about a vehicle restriction.

    To receive such elements in the HorizonSnapshot, specify HorizonElementType.vehicleRestrictionType in the HorizonOptions that you register with the HorizonEngine:

    let horizonOptions = HorizonOptions(
        id: UUID(),
        elementTypes: [.vehicleRestrictionType],
        ...
    )
    

    Important

    This is a Public Preview API. It may be changed or removed at any time.
    See more

    Declaration

    Swift

    public struct VehicleRestrictionElement : HorizonElement
  • Policy that defines a search distance for the main path.

    The main path is the path the user currently follows, extending along the most likely trajectory. If the horizon options specify this policy, the HorizonEngine only searches within an explicitly specified distance when extending the main path.

    For more information on horizon paths see HorizonEngine.

    For more information on horizon options see HorizonOptions.

    To search along the entire route use the RouteLengthPolicy.

    Important

    This is a Public Preview API. It may be changed or removed at any time.
    See more

    Declaration

    Swift

    public struct ExplicitDistancePolicy : PathSearchDistancePolicy

HorizonResult

HorizonOptions

  • Horizon configuration options.

    Horizon options define the extent of the HorizonPath in the horizon and the map attributes to be collected for these paths. A set of horizon options consists of the following:

    • The set of HorizonElementType the client is interested in.
    • The path search options for the main path.
    • The path search options for sub-paths.
    • The maximum number of paths the client can receive.
    • Minimum length of the horizon ahead for which a horizon snapshot update is triggered.

    To specify horizon options, create an instance of this class:

    let mainPathSearchOptions = try MainPathSearchOptions(
        searchTime: .tt.minutes(10),
        searchDistancePolicy: ExplicitDistancePolicy(
            searchDistance: PathSearchDistance(
                maxHorizonLength: .tt.kilometers(5)
            )
        ),
        minDistanceAhead: .tt.kilometers(1.5)
    )
    let subPathSearchOptionsLevel1 = try SubPathSearchOptions(
        searchTime: .tt.minutes(5),
        searchDistance: PathSearchDistance(
            maxHorizonLength: .tt.kilometers(2)
        )
    )
    let subPathSearchOptionsLevel2 = try SubPathSearchOptions(
        searchTime: .tt.minutes(3),
        searchDistance: PathSearchDistance(
            maxHorizonLength: .tt.kilometers(1)
        )
    )
    let horizonOptions = try HorizonOptions(
        id: UUID(),
        elementTypes: [.speedLimitsType, .regionType],
        mainPathSearchOptions: mainPathSearchOptions,
        subPathSearchOptions: [subPathSearchOptionsLevel1, subPathSearchOptionsLevel2],
        numberOfPaths: 4
    )
    

    For more information on horizon element types and horizon paths see HorizonEngine.

    A client application can register multiple sets of horizon options and request the engine to provide data for all or only some of the registered option sets. The engine generates a separate HorizonResult for each set of options in the request. The client can also update horizon configuration by registering a new set of options or unregistering a previously registered set.

    To register a set of horizon options, call the HorizonEngine .registerHorizonOptions function.

    To unregister a set of horizon options, call the HorizonEngine .unregisterHorizonOptions function.

    Important

    This is a Public Preview API. It may be changed or removed at any time.
    See more

    Declaration

    Swift

    public struct HorizonOptions
    extension HorizonOptions: Hashable

HorizonElementType

  • Defines the interface to horizon element types.

    Important

    This is a Public Preview API. It may be changed or removed at any time.
    See more

    Declaration

    Swift

    public struct HorizonElementType : RawRepresentable, Hashable

MainPathSearchOptions

  • Horizon search options for the main path.

    These options specify the PathSearchDistancePolicy and the search time for the main path. The main path is the path the user currently follows, extending along the most likely trajectory. The search distance policy and the search time define the extent of the main path.

    To specify horizon options for the main path, create an instance of this class:

    let mainPathSearchOptions = try MainPathSearchOptions(
        searchTime: .tt.minutes(10),
        searchDistancePolicy: ExplicitDistancePolicy(
            searchDistance: PathSearchDistance(
                maxHorizonLength: .tt.kilometers(5)
            )
        ),
        minDistanceAhead: .tt.kilometers(1.5)
    )
    

    For more information on horizon paths see HorizonEngine.

    For more information on horizon options see HorizonOptions.

    The PathSearchDistancePolicy determines whether the horizon engine must search along the entire route (see RouteLengthPolicy) or within an explicitly specified distance (see ExplicitDistancePolicy).

    If both search time and search distance policy are provided (i.e., the options specify both a search time and a search distance policy) for the main path, the HorizonEngine extends the main path until time and distance have both reached their limits. If the search time is not specified, the horizon engine works with a default value of Defaults .pathSearchTime for the search time and extends the main path based on the search distance directly specified by or derived from the search policy.

    Important

    This is a Public Preview API. It may be changed or removed at any time.
    See more

    Declaration

    Swift

    public struct MainPathSearchOptions

SubPathSearchOptions

  • Horizon search options for a sub-path level.

    These options specify the search distance and the search time for a sub-path level. The level of a sub-path is the number of times the user would have to deviate, starting from the main path, in order to reach that sub-path. The search distance and the search time define the extent of sub-paths of that level in the horizon.

    To specify options for a sub-path level, create an instance of this class:

    let subPathSearchOptionsLevel1 = try SubPathSearchOptions(
        searchTime: .tt.minutes(5),
        searchDistance: PathSearchDistance(
            maxHorizonLength: .tt.kilometers(2)
        )
    )
    

    For more information on horizon paths see HorizonEngine.

    For more information on horizon options see HorizonOptions.

    If both search time and search distance are specified (i.e., the options specify both a search time and a search distance) for a given sub-path level, the HorizonEngine extends horizon sub-paths of that level until both time and distance have reached the limit. If only the search distance is specified for a given sub-path level, the horizon engine works with a default value Defaults .pathSearchTime for the search time and extends the sub-paths of that level based on the search distance. If only the search time is specified for a given sub-path level, the horizon engine works with a default value of Defaults .pathSearchDistance maximum extension length for the search distance and extends sub-paths of that level until both time and distance reach the limit.

    Important

    This is a Public Preview API. It may be changed or removed at any time.
    See more

    Declaration

    Swift

    public struct SubPathSearchOptions

HorizonSnapshot

  • Snapshot of the horizon.

    Snapshot of the horizon provided by the HorizonEngine for a set of registered HorizonOptions. These options define the extent of the paths HorizonPath on the horizon and which map attributes are collected for those paths.

    Horizon snapshot holds state of the horizon for HorizonOptions provided by user and current position. Snapshot contains data such as:

    • paths: List of horizon paths HorizonPath, consisting of the main path and zero or more sub-paths. The main path is the path on which the likeliest map-matched on-road position is located. If there is no on-road map-matched position candidate, there is no main path either. This is because no horizon can be provided if there is no on-road map-matched position. See HorizonPosition for more details. A sub-path is any path in the horizon snapshot that is not the main path. For a horizon snapshot to contain sub-paths, the options HorizonOptions for which it was generated must specify sub-path search options SubPathSearchOptions for at least one sub-path level.
    • state: The horizon snapshot state HorizonSnapshotState
    • mainPathID: The ID of the main path HorizonPath. Nil if there is no on-road map-matched position candidate. See HorizonPosition for more details.

    Important

    This is a Public Preview API. It may be changed or removed at any time.

    See more

    Declaration

    Swift

    public struct HorizonSnapshot

HorizonPath

  • Path in the horizon. The length of the path as well as which types of horizon elements HorizonElement it contains are determined by the set of horizon options HorizonOptions for which horizon data was generated. For information on how to manage horizon options see HorizonEngine.registerHorizonOptions and HorizonEngine.unregisterHorizonOptions.///

    For more information on horizon paths see HorizonEngine.

    Important

    This is a Public Preview API. It may be changed or removed at any time.
    See more

    Declaration

    Swift

    public struct HorizonPath : Equatable

HorizonPosition

  • The best map-matched position on the horizon. It can be either on-road or off-road. If off-road, it can be either:

    • The likeliest on-road position on the horizon, but flagged as off-road, if the likeliest position is off-road, but there are also on-road candidates. The user can extract horizon elements to facilitate the decision to join the road.
    • Or an off-road position with an invalid path ID and an unmatched raw location, if the likeliest position is off-road and there are no on-road candidates on the horizon.

    Horizon position can be extracted from the result HorizonResult of the call HorizonEngine.generateHorizon with a preregistered set of HorizonOptionsused as an argument.

    Important

    This is a Public Preview API. It may be changed or removed at any time.
    See more

    Declaration

    Swift

    public struct HorizonPosition
  • State of the HorizonSnapshot that the HorizonEngine generates based on a set of registered HorizonOptions.

    Important

    This is a Public Preview API. It may be changed or removed at any time.
    See more

    Declaration

    Swift

    public struct HorizonSnapshotState : Equatable

PathSearchDistance

  • Horizon path search distance configuration.

    The search distance defines the extent of the path in the horizon.

    For more information on horizon paths see HorizonEngine.

    For more information on horizon options see HorizonOptions.

    Important

    This is a Public Preview API. It may be changed or removed at any time.
    See more

    Declaration

    Swift

    public struct PathSearchDistance : Equatable
  • Policy that binds the horizon path to the entire route.

    The main path is the path the user currently follows, extending along the most likely trajectory. If the horizon options specify this policy, the horizon engine HorizonEngine searches along the entire route when extending the main path.

    For more information on horizon paths see HorizonEngine.

    For more information on horizon options see HorizonOptions.

    To search within a specific distance use the ExplicitDistancePolicy.

    Important

    This is a Public Preview API. It may be changed or removed at any time.
    See more

    Declaration

    Swift

    public struct RouteLengthPolicy : PathSearchDistancePolicy