TomTomDynamicGuidanceEngine
public class TomTomDynamicGuidanceEngine : GuidanceEngine
Creates a DynamicGuidanceEngine
.
DynamicGuidanceEngine
generates dynamic Guidance
for the
TomTomSDKRoute.Instruction
s supplied within NavigationSnapshot.activeRoute
.
To generate dynamic Guidance
, DynamicGuidanceEngine
takes various
parameters into account. These parameters include, but are not limited to:
- Distance to the next maneuver.
- Current speed of the vehicle.
- Free-flow speed of the road between the current position and the next maneuver.
- Traffic situation ahead.
So, unlike TomTomGuidanceEngine
, DynamicGuidanceEngine
does not depend on
TomTomSDKRoute.Announcement
information that may or may not be included in the
TomTomSDKRoute.Instruction
. It continuously checks the
active route progress to provide up-to-date Guidance
information. Once the vehicle reaches an announcement
point, the generated Guidance
includes the (GuidanceAnnouncement
) to be announced.
Another difference between DynamicGuidanceEngine
and TomTomGuidanceEngine
is that
DynamicGuidanceEngine
uses TomTom’s advanced verbal instruction messages to synthesize
GuidanceAnnouncement
s dynamically on the fly. Note that the set of supported languages may differ
between different GuidanceEngine
s.
DynamicGuidanceEngine
can be used to provide turn-by-turn navigation with any routing client (offline, online
with TomTomSDKRoutePlanner.GuidanceOptions.guidanceVersion
v1
or v2
).
Important
This is a Public Preview API. It may be changed or removed at any time.-
Configures object with default values.
Important
This is a Public Preview API. It may be changed or removed at any time.Declaration
Swift
public init()
-
Configures object with the user-defined
triggeringConfig
instance.Throws
An error ifTriggeringConfig
is not valid.Important
This is a Public Preview API. It may be changed or removed at any time.Declaration
Swift
public init(triggeringConfig: TriggeringConfig) throws
Parameters
triggeringConfig
Triggering configuration.
-
Defines whether generation of announcements is enabled.
Important
This is a Public Preview API. It may be changed or removed at any time.Declaration
Swift
public var announcementsEnabled: Bool { get set }
-
Defines the
AnnouncementMode
for thisGuidanceEngine
.Important
This is a Public Preview API. It may be changed or removed at any time.Declaration
Swift
public var announcementMode: AnnouncementMode { get set }
-
Returns a list of languages (represented as Locale) supported by
GuidanceEngine
.Important
This is a Public Preview API. It may be changed or removed at any time.Declaration
Swift
public var availableLanguages: [Locale] { get }
-
Generates guidance which might be a new upcoming maneuver or the same with updated distance to next maneuver.
Throws
GuidanceEngineError.noTripSnapshot
if there is no trip snapshot available.GuidanceEngineError.noNextInstructions
if there are no new instructions.GuidanceEngineError.noTriggerPoints
if there are no trigger points.Important
This is a Public Preview API. It may be changed or removed at any time.Declaration
Swift
public func generateGuidance(navigationSnapshot: NavigationSnapshot) throws // swiftlint:disable:this function_body_length -> Guidance
Parameters
navigationSnapshot
The snapshot of the current navigation session.
Return Value
Guidance object containing guidance information related to the current position on the route.
-
Generates a lane guidance object related to the current position on the route based on input parameters.
Note
LaneGuidanceUpdate
is suppressed (set to nil) when none of the lanes are set as recommended.Important
This is a Public Preview API. It may be changed or removed at any time.
Declaration
Swift
public func generateLaneGuidance(navigationSnapshot: NavigationSnapshot) -> LaneGuidanceUpdate?
Parameters
navigationSnapshot
The snapshot of the current navigation session.
Return Value
Lane guidance info object containing lane guidance information related to the current position on the route.
-
Resets the object to the default state.
Important
This is a Public Preview API. It may be changed or removed at any time.Declaration
Swift
public func reset()