RouteProgress

open class RouteProgress : Codable

RouteProgress stores the user’s progress along a route.

  • Returns the current Route.

    Declaration

    Swift

    public var route: Route { get }
  • Index representing current RouteLeg.

    Declaration

    Swift

    public var legIndex: Int { get set }
  • If waypoints are provided in the Route, this will contain which leg the user is on.

    Declaration

    Swift

    public var currentLeg: RouteLeg { get }
  • Returns the remaining legs left on the current route

    Declaration

    Swift

    public var remainingLegs: [RouteLeg] { get }
  • Returns the remaining steps left on the current route

    Declaration

    Swift

    public var remainingSteps: [RouteStep] { get }
  • Returns true if currentLeg is the last leg.

    Declaration

    Swift

    public var isFinalLeg: Bool { get }
  • 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 }
  • Returns the progress along the current RouteLeg.

    Declaration

    Swift

    public var currentLegProgress: RouteLegProgress
  • 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 leg following the current leg along this route.

    If this leg is the last leg of the route, this property is set to nil.

    Declaration

    Swift

    public var upcomingLeg: RouteLeg? { 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 }
  • 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 }
  • 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 }
  • Intializes a new RouteProgress.

    Declaration

    Swift

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

    Parameters

    route

    The route to follow.

    routeIndex

    The index of the route in the RouteResponse. By default, the route is the first route in the response.

    legIndex

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

  • Updates the current route with attributes from the given skeletal route.

    Declaration

    Swift

    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.