RouteOptions
open class RouteOptions: NSObject, NSSecureCoding
A RouteOptions object is a structure that specifies the criteria for results returned by the Mapbox Directions API.
Pass an instance of this class into the Directions.calculate(_:completionHandler:) method.
-
Initializes a route options object for routes between the given waypoints and an optional profile identifier.
Declaration
Swift
public init(waypoints: [Waypoint], profileIdentifier: MBDirectionsProfileIdentifier? = nil)Parameters
waypointsAn array of
Waypointobjects representing locations that the route should visit in chronological order. The array should contain at least two waypoints (the source and destination) and at most 25 waypoints.profileIdentifierA string specifying the primary mode of transportation for the routes. This parameter, if set, should be set to
MBDirectionsProfileIdentifierAutomobile,MBDirectionsProfileIdentifierAutomobileAvoidingTraffic,MBDirectionsProfileIdentifierCycling, orMBDirectionsProfileIdentifierWalking.MBDirectionsProfileIdentifierAutomobileis used by default. -
Initializes a route options object for routes between the given locations and an optional profile identifier.
Note
This initializer is intended for
CLLocationobjects created using theCLLocation.init(latitude:longitude:)initializer. If you intend to use aCLLocationobject obtained from aCLLocationManagerobject, consider increasing thehorizontalAccuracyor set it to a negative value to avoid overfitting, since theWaypointclass’scoordinateAccuracyproperty represents the maximum allowed deviation from the waypoint.Declaration
Swift
public convenience init(locations: [CLLocation], profileIdentifier: MBDirectionsProfileIdentifier? = nil)Parameters
locationsAn array of
CLLocationobjects representing locations that the route should visit in chronological order. The array should contain at least two locations (the source and destination) and at most 25 locations. Each location object is converted into aWaypointobject. This class respects theCLLocationclass’scoordinateandhorizontalAccuracyproperties, converting them into theWaypointclass’scoordinateandcoordinateAccuracyproperties, respectively.profileIdentifierA string specifying the primary mode of transportation for the routes. This parameter, if set, should be set to
MBDirectionsProfileIdentifierAutomobile,MBDirectionsProfileIdentifierAutomobileAvoidingTraffic,MBDirectionsProfileIdentifierCycling, orMBDirectionsProfileIdentifierWalking.MBDirectionsProfileIdentifierAutomobileis used by default. -
Initializes a route options object for routes between the given geographic coordinates and an optional profile identifier.
Declaration
Swift
public convenience init(coordinates: [CLLocationCoordinate2D], profileIdentifier: MBDirectionsProfileIdentifier? = nil)Parameters
coordinatesAn array of geographic coordinates representing locations that the route should visit in chronological order. The array should contain at least two locations (the source and destination) and at most 25 locations. Each coordinate is converted into a
Waypointobject.profileIdentifierA string specifying the primary mode of transportation for the routes. This parameter, if set, should be set to
MBDirectionsProfileIdentifierAutomobile,MBDirectionsProfileIdentifierAutomobileAvoidingTraffic,MBDirectionsProfileIdentifierCycling, orMBDirectionsProfileIdentifierWalking.MBDirectionsProfileIdentifierAutomobileis used by default.
-
An array of
Waypointobjects representing locations that the route should visit in chronological order.A waypoint object indicates a location to visit, as well as an optional heading from which to approach the location.
The array should contain at least two waypoints (the source and destination) and at most 25 waypoints.
Declaration
Swift
open var waypoints: [Waypoint] -
A Boolean value that indicates whether a returned route may require a point U-turn at an intermediate waypoint.
If the value of this property is
true, a returned route may require an immediate U-turn at an intermediate waypoint. At an intermediate waypoint, if the value of this property isfalse, each returned route may continue straight ahead or turn to either side but may not U-turn. This property has no effect if only two waypoints are specified.Set this property to
trueif you expect the user to traverse each leg of the trip separately. For example, it would be quite easy for the user to effectively “U-turn” at a waypoint if the user first parks the car and patronizes a restaurant there before embarking on the next leg of the trip. Set this property tofalseif you expect the user to proceed to the next waypoint immediately upon arrival. For example, if the user only needs to drop off a passenger or package at the waypoint before continuing, it would be inconvenient to perform a U-turn at that location.The default value of this property is
falsewhen the profile identifier isMBDirectionsProfileIdentifierAutomobileorMBDirectionsProfileIdentifierAutomobileAvoidingTrafficandtrueotherwise.Declaration
Swift
open var allowsUTurnAtWaypoint: Bool
-
A string specifying the primary mode of transportation for the routes.
This property should be set to
MBDirectionsProfileIdentifierAutomobile,MBDirectionsProfileIdentifierAutomobileAvoidingTraffic,MBDirectionsProfileIdentifierCycling, orMBDirectionsProfileIdentifierWalking. The default value of this property isMBDirectionsProfileIdentifierAutomobile, which specifies driving directions.Declaration
Swift
open var profileIdentifier: MBDirectionsProfileIdentifier
-
A Boolean value indicating whether alternative routes should be included in the response.
If the value of this property is
false, the server only calculates a single route that visits each of the waypoints. If the value of this property istrue, the server attempts to find additional reasonable routes that visit the waypoints. Regardless, multiple routes are only returned if it is possible to visit the waypoints by a different route without significantly increasing the distance or travel time. The alternative routes may partially overlap with the preferred route, especially if intermediate waypoints are specified.Alternative routes may take longer to calculate and make the response significantly larger, so only request alternative routes if you intend to display them to the user or let the user choose them over the preferred route. For example, do not request alternative routes if you only want to know the distance or estimated travel time to a destination.
The default value of this property is
false.Declaration
Swift
open var includesAlternativeRoutes = false -
A Boolean value indicating whether
MBRouteStepobjects should be included in the response.If the value of this property is
true, the returned route contains turn-by-turn instructions. Each returnedMBRouteobject contains one or moreMBRouteLegobject that in turn contains one or moreMBRouteStepobjects. On the other hand, if the value of this property isfalse, theMBRouteLegobjects contain noMBRouteStepobjects.If you only want to know the distance or estimated travel time to a destination, set this property to
falseto minimize the size of the response and the time it takes to calculate the response. If you need to display turn-by-turn instructions, set this property totrue.The default value of this property is
false.Declaration
Swift
open var includesSteps = false -
Format of the data from which the shapes of the returned route and its steps are derived.
This property has no effect on the returned shape objects, although the choice of format can significantly affect the size of the underlying HTTP response.
The default value of this property is
polyline.Declaration
Swift
open var shapeFormat = RouteShapeFormat.polyline -
Resolution of the shape of the returned route.
This property has no effect on the shape of the returned route’s steps.
The default value of this property is
low, specifying a low-resolution route shape.Declaration
Swift
open var routeShapeResolution = RouteShapeResolution.low -
AttributeOptions for the route. Any combination of
AttributeOptionscan be specified.By default, no attribute options are specified. It is recommended that
routeShapeResolutionbe set to.full.Declaration
Swift
open var attributeOptions: AttributeOptions = []
Install in Dash
RouteOptions Class Reference