Structures
The following structures are available globally.
-
See more
Important
This is a Public Preview API. It may be changed or removed at any time.Declaration
Swift
public struct DestinationArrivalStatus -
Holds arrival status to a unique waypoint.
See moreImportant
This is a Public Preview API. It may be changed or removed at any time.Declaration
Swift
public struct WaypointArrivalStatus
-
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 moreDeclaration
Swift
public struct GuidanceAnnouncement : Equatable
-
Guidance update provided while navigating a route, including the list of upcoming instructions, guidance announcement and distance to the next maneuver.
See moreDeclaration
Swift
public struct Guidance
-
Guidance Instruction indicating arrival at the destination.
See moreDeclaration
Swift
public struct ArrivalGuidanceInstruction : GuidanceInstruction
-
Indicates a border crossing between two countries.
See moreDeclaration
Swift
public struct BorderCrossing
-
Instruction indicating an upcoming border crossing.
See moreDeclaration
Swift
public struct BorderCrossingGuidanceInstruction : GuidanceInstruction
-
Guidance Instruction indicating departure from the origin.
See moreDeclaration
Swift
public struct DepartureGuidanceInstruction : GuidanceInstruction
-
Guidance Instruction indicating entering a vehicle transportation service through a terminal.
See moreDeclaration
Swift
public struct EnterAutoTransportGuidanceInstruction : GuidanceInstruction
-
Guidance Instruction indicating entering a carpool lane by changing lanes.
See moreDeclaration
Swift
public struct EnterCarpoolLaneGuidanceInstruction : GuidanceInstruction -
Guidance Instruction indicating exiting a vehicle transportation service through a terminal.
See moreDeclaration
Swift
public struct ExitAutoTransportGuidanceInstruction : GuidanceInstruction
-
Guidance Instruction indicating exiting a carpool lane by changing lanes.
See moreDeclaration
Swift
public struct ExitCarpoolLaneGuidanceInstruction : GuidanceInstruction
-
Guidance Instruction indicating taking a highway exit.
See moreDeclaration
Swift
public struct ExitHighwayGuidanceInstruction : GuidanceInstruction
-
Guidance Instruction indicating an exit from a roundabout.
See moreDeclaration
Swift
public struct ExitRoundaboutGuidanceInstruction : GuidanceInstruction
-
Guidance Instruction indicating that the current road should be followed for some distance.
See moreDeclaration
Swift
public struct FollowGuidanceInstruction : GuidanceInstruction
-
Guidance Instruction indicating an upcoming fork in the road.
See moreDeclaration
Swift
public struct ForkGuidanceInstruction : GuidanceInstruction
-
Guidance Instruction indicating a turn which is legally required.
See moreDeclaration
Swift
public struct MandatoryTurnGuidanceInstruction : GuidanceInstruction
-
Guidance Instruction indicating a merge onto another road.
See moreDeclaration
Swift
public struct MergeGuidanceInstruction : GuidanceInstruction
-
Road information relating to a
See moreGuidanceInstruction.Declaration
Swift
public struct Road : Equatable
-
Guidance Instruction indicating an upcoming roundabout.
See moreDeclaration
Swift
public struct RoundaboutGuidanceInstruction : GuidanceInstruction
-
Contains information about the signpost for the
See moreGuidanceInstruction.Declaration
Swift
public struct Signpost : Equatable
-
Guidance Instruction indicating changing highways by following an exit ramp.
See moreDeclaration
Swift
public struct SwitchHighwayGuidanceInstruction : GuidanceInstruction
-
Guidance instruction indicating the driver is approaching a tollgate or ETC terminal.
See moreDeclaration
Swift
public struct TollgateGuidanceInstruction : GuidanceInstruction
-
Guidance Instruction indicating the driver should turn around when it is possible.
See moreDeclaration
Swift
public struct TurnAroundWhenPossibleGuidanceInstruction : GuidanceInstruction
-
Guidance Instruction indicating a turn at a road junction.
See moreImportant
This is a Public Preview API. It may be changed or removed at any time.Declaration
Swift
public struct TurnGuidanceInstruction : GuidanceInstruction
-
Guidance Instruction indicating that a waypoint on the route is reached.
See moreDeclaration
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 moreDeclaration
Swift
public struct LaneGuidance
-
Holds information about
See moreLaneGuidanceand whether it is starting or ending.Declaration
Swift
public struct LaneGuidanceUpdate
-
LocationContext provides information about the driver’s location, which has been matched against the road network.
See moreImportant
This is a Public Preview API. It may be changed or removed at any time.Declaration
Swift
public struct LocationContext : Equatable
-
The MapMatchingResult provides information about the matched location and its details.
See moreImportant
This is a Public Preview API. It may be changed or removed at any time.Declaration
Swift
public struct MapMatchingResult -
The RouteProgress class provides information about the driver’s progress along the route.
See moreImportant
This is a Public Preview API. It may be changed or removed at any time.Declaration
Swift
public struct RouteProgress -
Important
This is a Public Preview API. It may be changed or removed at any time.Declaration
Swift
public struct RouteStopProgress -
Represents a projected route with missing map reference data.
See moreImportant
This is a Public Preview API. It may be changed or removed at any time.Declaration
Swift
public struct ProjectedRoute -
Describes part of the
ProjectedRoute.See moreImportant
This is a Public Preview API. It may be changed or removed at any time.Declaration
Swift
public struct ProjectedRouteSection -
ActiveRouteDatastores the active route and an optional better route proposal.See moreImportant
This is a Public Preview API. It may be changed or removed at any time.Declaration
Swift
public struct ActiveRouteData
-
Navigation snapshot containing information about the state of the trip at a certain moment
See moreImportant
This is a Public Preview API. It may be changed or removed at any time.Declaration
Swift
public struct NavigationSnapshot -
Keeps the state of the waypoints in the current route, providing methods to change the state (as necessary).
See moreImportant
This is a Public Preview API. It may be changed or removed at any time.Declaration
Swift
public struct RouteWaypointsState -
RoutePlanspecifies all required parameters for a single route navigation session.See moreImportant
This is a Public Preview API. It may be changed or removed at any time.Declaration
Swift
public struct RoutePlan -
Describes a city on the horizon element.
This class holds a horizon element with information regarding city. In case of this class, information consists only of the name of the city.
To obtain
Cityhorizon elements, the integrator must create an instance ofHorizonEngine, registerHorizonOptionsincludingelementTypescontainingHorizonElementType.cityTypewith a call toHorizonEngine.registerHorizonOptions, and request aHorizonResultusing the previously registeredHorizonOptionswith a call toHorizonEngine.generateHorizon.See moreImportant
This is a Public Preview API. It may be changed or removed at any time.Declaration
Swift
public struct City : HorizonElement
-
Describes the country information on the horizon element.
This class holds a horizon element with information regarding country. It contains information regarding country and region ISO codes, driving side, speed units and regional speed limits.
To obtain
CountryInformationhorizon elements, the integrator must create an instance ofHorizonEngine, registerHorizonOptionsincludingelementTypescontainingHorizonElementType.countryInformationTypewith a call toHorizonEngine.registerHorizonOptions, and request aHorizonResultusing the previously registeredHorizonOptionswith a call toHorizonEngine.generateHorizon.See moreImportant
This is a Public Preview API. It may be changed or removed at any time.Declaration
Swift
public struct CountryInformation : HorizonElement
-
Describes speed limits for the region.
See moreImportant
This is a Public Preview API. It may be changed or removed at any time.Declaration
Swift
public struct RegionalSpeedLimit
-
Describes dangerous goods restrictions on the horizon element.
This struct holds a horizon element with information regarding dangerous goods restriction. It contains information regarding exact type of dangerous goods restriction and flag indicating whether this restriction is violated with current configuration.
To obtain
DangerousGoodsRestrictionhorizon elements, the integrator must create an instance ofHorizonEngine, registerHorizonOptionsincludingelementTypescontainingHorizonElementType.dangerousGoodsRestrictionTypewith a call toHorizonEngine.registerHorizonOptions, and request aHorizonResultusing the previously registeredHorizonOptionswith a call toHorizonEngine.generateHorizon.See moreImportant
This is a Public Preview API. It may be changed or removed at any time.Declaration
Swift
public struct DangerousGoodsRestriction : HorizonElement
-
Describes the general road properties on the horizon element.
This class holds a horizon element with information regarding general road elements. It contains information regarding number of lanes, functional road class, form of way, road condition, driving side and multiple flags indicating additional properites.
To obtain
GeneralRoadPropertieshorizon elements, the integrator must create an instance ofHorizonEngine, registerHorizonOptionsincludingelementTypescontainingHorizonElementType.generalRoadPropertiesTypewith a call toHorizonEngine.registerHorizonOptions, and request aHorizonResultusing the previously registeredHorizonOptionswith a call toHorizonEngine.generateHorizon.See moreImportant
This is a Public Preview API. It may be changed or removed at any time.Declaration
Swift
public struct GeneralRoadProperties : HorizonElement -
Describes path geometry of the horizon element.
This class holds a horizon element with information regarding path geometry. It contains information regarding exact coordinates and altitude.
To obtain
PathGeometryhorizon elements, the integrator must create an instance ofHorizonEngine, registerHorizonOptionsincludingelementTypescontainingHorizonElementType.pathGeometryTypewith a call toHorizonEngine.registerHorizonOptions, and request aHorizonResultusing the previously registeredHorizonOptionswith a call toHorizonEngine.generateHorizon.See moreImportant
This is a Public Preview API. It may be changed or removed at any time.Declaration
Swift
public struct PathGeometry : HorizonElement -
Describes a region on the horizon element.
This class holds a horizon element with information regarding region. It contains information regarding country and subcountry name. Subcountry name can contain either state, province or region name.
To obtain
Regionhorizon elements, the integrator must create an instance ofHorizonEngine, registerHorizonOptionsincludingelementTypescontainingHorizonElementType.regionTypewith a call toHorizonEngine.registerHorizonOptions, and request aHorizonResultusing the previously registeredHorizonOptionswith a call toHorizonEngine.generateHorizon.See moreImportant
This is a Public Preview API. It may be changed or removed at any time.Declaration
Swift
public struct Region : HorizonElement -
Describes a safety location on the horizon element.
This class holds a horizon element with information regarding safety location. It contains information regarding safety location’s ID, start, end, bounding box, type, speed limit, recommended warning distance and flag indicating whether safety location is zone.
To obtain
SafetyLocationhorizon elements, the integrator must create an instance ofHorizonEngine, registerHorizonOptionsincludingelementTypescontainingHorizonElementType.safetyLocationTypewith a call toHorizonEngine.registerHorizonOptions, and request aHorizonResultusing the previously registeredHorizonOptionswith a call toHorizonEngine.generateHorizon.See moreImportant
This is a Public Preview API. It may be changed or removed at any time.Declaration
Swift
public struct SafetyLocation : HorizonElement
-
Describes a speed limit on the horizon element.
This class holds a horizon element with information regarding speed limits. It contains information regarding speed limit’s value, type and values detemined by weather conditions.
To obtain
SpeedLimitshorizon elements, the integrator must create an instance ofHorizonEngine, registerHorizonOptionsincludingelementTypescontainingHorizonElementType.speedLimitsTypewith a call toHorizonEngine.registerHorizonOptions, and request aHorizonResultusing the previously registeredHorizonOptionswith a call toHorizonEngine.generateHorizon.To retrieve the speed limits for a specific vehicle, configure proper
TomTomSDKCommon.Vehicle', e.g. for trucks configure aTruckinstance, by implementingTomTomSDKVehicle.VehicleProvideror using default implementationTomTomSDKVehicle.DefaultVehicleProvider. An instance of theTomTomSDKVehicle.VehicleProvidershould be the same as provided to theTomTomSDKNavigation.NavigationConfiguration`. After that, the horizon provides speed limits for the specific vehicle type.Attention
speed limits are affected mostly by vehicle type
TomTomSDKCommon.VehicleType, but some other vehicle characteristics might be considered such as weight, type of load and many othersSee moreImportant
This is a Public Preview API. It may be changed or removed at any time.
Declaration
Swift
public struct SpeedLimits : HorizonElement -
Describes a street on the horizon element.
This class holds a horizon element with information regarding street. It contains information regarding street name/number and city name/block it belongs to.
To obtain
Streethorizon elements, the integrator must create an instance ofHorizonEngine, registerHorizonOptionsincludingelementTypescontainingHorizonElementType.streetTypewith a call toHorizonEngine.registerHorizonOptions, and request aHorizonResultusing the previously registeredHorizonOptionswith a call toHorizonEngine.generateHorizon.See moreImportant
This is a Public Preview API. It may be changed or removed at any time.Declaration
Swift
public struct Street : HorizonElement -
Describes a traffic sign on the horizon element.
This class holds a horizon element with information traffic sign. It contains information regarding traffic sign’s type category and location.
To obtain
TrafficSignhorizon elements, the integrator must create an instance ofHorizonEngine, registerHorizonOptionsincludingelementTypescontainingHorizonElementType.trafficSignTypewith a call toHorizonEngine.registerHorizonOptions, and request aHorizonResultusing the previously registeredHorizonOptionswith a call toHorizonEngine.generateHorizon.See moreImportant
This is a Public Preview API. It may be changed or removed at any time.Declaration
Swift
public struct TrafficSign : HorizonElement
-
Describes vehicle restrictions on the horizon element.
This class holds a horizon element with information regarding vehicle restriction. It contains information regarding type of vehicle restriction and flag indicating whether vehicle restriction is violated with current configuration.
To obtain
VehicleRestrictionhorizon elements, the integrator must create an instance ofHorizonEngine, registerHorizonOptionsincludingelementTypescontainingHorizonElementType.vehicleRestrictionTypewith a call toHorizonEngine.registerHorizonOptions, and request aHorizonResultusing the previously registeredHorizonOptionswith a call toHorizonEngine.generateHorizon.See moreImportant
This is a Public Preview API. It may be changed or removed at any time.Declaration
Swift
public struct VehicleRestriction : 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
HorizonEngineonly searches within an explicitly specified distance when extending the main path. If a search distance is not provided, a default value will be used that corresponds to a maximum horizon length ofDefaults.pathSearchDistance.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.See moreImportant
This is a Public Preview API. It may be changed or removed at any time.Declaration
Swift
public struct ExplicitDistancePolicy : PathSearchDistancePolicy
-
Output of the
HorizonEngine.Entry of horizon result is consisted of one
HorizonSnapshot,HorizonPositionand set of previously registeredHorizonOptions.HorizonSnapshotholds current snapshot of horizon which includes available paths, status of the horizon snapshot and ID of the main path. Horizon result additionally containsHorizonOptionsprovided by user andHorizonPositionrepresenting current position. BothHorizonOptionsandHorizonPositiondetermine contents of theHorizonSnapshot.Horizon results can be obtained by creating instance of
HorizonEngine, registering desiredHorizonOptionswith callHorizonEngine.registerHorizonOptionsand making direct request to generate horizonHorizonEngine.generateHorizonprovidingHorizonOptionsand currentNavigationSnapshot.See moreImportant
This is a Public Preview API. It may be changed or removed at any time.Declaration
Swift
public struct HorizonResult
-
Horizon configuration options.
Horizon options define the extent of the
HorizonPathin the horizon and the map attributes to be collected for these paths. A set of horizon options consists of the following:- the set of
HorizonElementTypethe 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) ) ) ) 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 minDistanceAhead: .tt.meters(400) )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
HorizonResultfor 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.registerHorizonOptionsfunction.To unregister a set of horizon options, call the
HorizonEngine.unregisterHorizonOptionsfunction.See moreImportant
This is a Public Preview API. It may be changed or removed at any time.Declaration
Swift
public struct HorizonOptionsextension HorizonOptions: Hashable - the set of
-
Defines the interface to horizon element types.
See moreImportant
This is a Public Preview API. It may be changed or removed at any time.Declaration
Swift
public struct HorizonElementType : RawRepresentable, Hashable
-
Horizon search options for the main path.
These options specify the
PathSearchDistancePolicyand 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) ) ) )For more information on horizon paths see
HorizonEngine.For more information on horizon options see
HorizonOptions.The
PathSearchDistancePolicydetermines whether the horizon engine must search along the entire route (seeRouteLengthPolicy) or within an explicitly specified distance (seeExplicitDistancePolicy).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
HorizonEngineextends 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 ofDefaults.pathSearchTimefor the search time and extends the main path based on the search distance directly specified by or derived from the search policy.See moreImportant
This is a Public Preview API. It may be changed or removed at any time.Declaration
Swift
public struct MainPathSearchOptions
-
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
HorizonEngineextends 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 valueDefaults.pathSearchTimefor 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 ofDefaults.pathSearchDistancemaximum extension length for the search distance and extends sub-paths of that level until both time and distance reach the limit.See moreImportant
This is a Public Preview API. It may be changed or removed at any time.Declaration
Swift
public struct SubPathSearchOptions
-
Snapshot of the horizon.
Horizon snapshot holds state of the horizon for
HorizonOptionsprovided by user and current position. Snapshot contains data such as:- paths: List of
HorizonPathincluding at least 1 main path and optional subpaths - state: Current
HorizonSnapshotStateholding incremental counter of horizon updates - mainPathID: ID of current main path, nil if current position is offroad
Horizon snapshot can be extracted from
HorizonResult, which can be obtained using instance ofHorizonEngine, registering set ofHorizonOptionsand making callgenerateHorizon.See moreImportant
This is a Public Preview API. It may be changed or removed at any time.Declaration
Swift
public struct HorizonSnapshot - paths: List of
-
Path in the horizon.
This class represent one path in horizon. Each entry contains information allowing to determine hierarchy of paths(parent-child relationship between paths), offset on parent path, set of horizon elements relevant to
HorizonOptionsprovided by user toHorizonEngine, and path geometry. The length of the path as well as which types of horizon elements it contains are determined by the horizon options.Horizon path can be extracted from
HorizonResult, which can be obtained using instance ofHorizonEngine, registering set ofHorizonOptionsand making callgenerateHorizon.See moreImportant
This is a Public Preview API. It may be changed or removed at any time.Declaration
Swift
public struct HorizonPath : Equatable
-
Position in the horizon.
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 there are 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 there are no on-road candidates on the horizon.
Horizon position can be extracted from
HorizonResult, which can be obtained using instance ofHorizonEngine, registering set ofHorizonOptionsand making callgenerateHorizon.See moreImportant
This is a Public Preview API. It may be changed or removed at any time.Declaration
Swift
public struct HorizonPosition -
State of the horizon snapshot provided by the
HorizonEngine. It is based on a set of previously registered horizon options.See moreImportant
This is a Public Preview API. It may be changed or removed at any time.Declaration
Swift
public struct HorizonSnapshotState : Equatable
-
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.See moreImportant
This is a Public Preview API. It may be changed or removed at any time.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
HorizonEnginesearches 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.See moreImportant
This is a Public Preview API. It may be changed or removed at any time.Declaration
Swift
public struct RouteLengthPolicy : PathSearchDistancePolicy
Structures Reference