open class Route : DirectionsResult
extension Route: Equatable
extension Route: RouteRefreshSource
Route object defines a single route that the user can follow to visit a series of waypoints in order. The route object includes information about the route, such as its distance and expected travel time. Depending on the criteria used to calculate the route, the route object may also include detailed turn-by-turn instructions.
Typically, you do not create instances of this class directly. Instead, you receive route objects when you request directions using the
Directions.calculateRoutes(matching:completionHandler:) method. However, if you use the
Directions.url(forCalculating:) method instead, you can use
JSONDecoder to convert the HTTP response into a
MapMatchingResponse object and access the
Initializes a route.
public override init(legs: [RouteLeg], shape: LineString?, distance: LocationDistance, expectedTravelTime: TimeInterval, typicalTravelTime: TimeInterval? = nil)
The legs that are traversed in order.
The roads or paths taken as a contiguous polyline.
The route’s distance, measured in meters.
The route’s expected travel time, measured in seconds.
The route’s typical travel time, measured in seconds.
Initializes a route from a decoder.
PreconditionIf the decoder is decoding JSON data from an API response, the
Decoder.userInfodictionary must contain a
MatchOptionsobject in the
CodingUserInfoKey.optionskey. If it does not, a
DirectionsCodingError.missingOptionserror is thrown.
public required init(from decoder: Decoder) throws
The decoder of JSON-formatted API response data or a previously encoded
public static func == (lhs: Route, rhs: Route) -> Bool
Merges the attributes of the given route’s legs into the receiver’s legs.
public func refreshLegAttributes(from refreshedRoute: RouteRefreshSource)
The route containing leg attributes to merge into the receiver. If this route contains fewer legs than the receiver, this method skips legs from the beginning of the route to make up the difference, so that merging the attributes from a one-leg route affects only the last leg of the receiver.
Merges the incidents of the given route’s legs into the receiver’s legs.
public func refreshLegIncidents(from refreshedRoute: RouteRefreshSource)
The route containing leg incidents to merge into the receiver. If this route contains fewer legs than the receiver, this method skips legs from the beginning of the route to make up the difference, so that merging the incidents from a one-leg route affects only the last leg of the receiver.