RouteProgress

open class RouteProgress : Codable

RouteProgress stores the user’s progress along a route.

  • Intializes a new RouteProgress.

    Declaration

    Swift

    public init(route: Route, options: RouteOptions, legIndex: Int = 0, spokenInstructionIndex: Int = 0)

    Parameters

    route

    The route to follow.

    options

    The route options that were attached to the route request.

    legIndex

    Zero-based index indicating the current leg the user is on.

  • Returns the current RouteOptions.

    Declaration

    Swift

    public let routeOptions: RouteOptions
  • Total distance traveled by user along all legs.

    Declaration

    Swift

    public var distanceTraveled: CLLocationDistance { get }
  • Total seconds remaining on all legs.

    Declaration

    Swift

    public var durationRemaining: TimeInterval { get }
  • Number between 0 and 1 representing how far along the Route the user has traveled.

    Declaration

    Swift

    public var fractionTraveled: Double { get }
  • Total distance remaining in meters along route.

    Declaration

    Swift

    public var distanceRemaining: CLLocationDistance { get }
  • The waypoints remaining on the current route.

    This property does not include waypoints whose Waypoint.separatesLegs property is set to false.

    Declaration

    Swift

    public var remainingWaypoints: [Waypoint] { get }
  • Upcoming RouteAlerts as reported by the navigation engine.

    The contents of the array depend on user’s current progress along the route and are modified on each location update. This array contains only the alerts that the user has not passed. Some events may have non-zero length and are also included while the user is traversing it. You can use this property to get information about incoming points of interest.

    Declaration

    Swift

    public internal(set) var upcomingRouteAlerts: [RouteAlert] { get }
  • Returns an array of CLLocationCoordinate2D of the coordinates along the current step and any adjacent steps.

    Important

    The adjacent steps may be part of legs other than the current leg.

    Declaration

    Swift

    public var nearbyShape: LineString { get }
  • Returns the current Route.

    Declaration

    Swift

    public var route: Route
  • Updates the current route with attributes from the given skeletal route.

    Declaration

    Swift

    @available(*, deprecated, message: "Route refreshing logic should be handled by the SDK. There is no need to refresh the route object manually.")
    public func refreshRoute(with refreshedRoute: RefreshedRoute, at location: CLLocation)
  • Increments the progress according to new location specified.

    Declaration

    Swift

    public func updateDistanceTraveled(with location: CLLocation)

    Parameters

    location

    Updated user location.

  • Returns the remaining steps left on the current route

    Declaration

    Swift

    public var remainingSteps: [RouteStep] { get }
  • The step prior to the current step along this route.

    The prior step may be part of a different RouteLeg than the current step. If the current step is the first step along the route, this property is set to nil.

    Declaration

    Swift

    public var priorStep: RouteStep? { get }
  • The step following the current step along this route.

    The upcoming step may be part of a different RouteLeg than the current step. If it is the last step along the route, this property is set to nil.

    Declaration

    Swift

    public var upcomingStep: RouteStep? { get }
  • Tuple containing a CongestionLevel and a corresponding TimeInterval representing the expected travel time for this segment.

    Declaration

    Swift

    public typealias TimedCongestionLevel = (CongestionLevel, TimeInterval)
  • If the route contains both segmentCongestionLevels and expectedSegmentTravelTimes, this property is set to a deeply nested array of TimeCongestionLevels per segment per step per leg.

    Declaration

    Swift

    public private(set) var congestionTravelTimesSegmentsByStep: [[[TimedCongestionLevel]]] { get }
  • An dictionary containing a TimeInterval total per CongestionLevel. Only CongestionLevel founnd on that step will present. Broken up by leg and then step.

    Declaration

    Swift

    public private(set) var congestionTimesPerStep: [[[CongestionLevel : TimeInterval]]] { get }