TomTomDynamicGuidanceEngine

public class TomTomDynamicGuidanceEngine : GuidanceEngine

Creates a DynamicGuidanceEngine.

DynamicGuidanceEngine generates dynamic Guidance for the TomTomSDKRoute.Instructions 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 GuidanceAnnouncements dynamically on the fly. Note that the set of supported languages may differ between different GuidanceEngines.

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()
  • 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 this GuidanceEngine.

    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()