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 tofalse
.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 }
-
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 correspondingTimeInterval
representing the expected travel time for this segment.Declaration
Swift
public typealias TimedCongestionLevel = (CongestionLevel, TimeInterval)
-
If the route contains both
segmentCongestionLevels
andexpectedSegmentTravelTimes
, this property is set to a deeply nested array ofTimeCongestionLevels
per segment per step per leg.Declaration
Swift
public private(set) var congestionTravelTimesSegmentsByStep: [[[TimedCongestionLevel]]] { get }
-
An dictionary containing a
TimeInterval
total perCongestionLevel
. OnlyCongestionLevel
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.
-
Declaration
Swift
required public init(from decoder: Decoder) throws
-
Declaration
Swift
public func encode(to encoder: Encoder) throws