DirectionsOptions

open class DirectionsOptions: NSObject, NSSecureCoding, NSCopying

Options for calculating results from the Mapbox Directions service.

You do not create instances of this class directly. Instead, create instances of MatchOptions or RouteOptions.

  • Initializes an options object for routes between the given waypoints and an optional profile identifier.

    Do not call DirectionsOptions(waypoints:profileIdentifier:) directly; instead call the corresponding initializer of RouteOptions or MatchOptions.

    Declaration

    Swift

    @objc required public init(waypoints: [Waypoint], profileIdentifier: MBDirectionsProfileIdentifier? = nil)

    Parameters

    waypoints

    An array of Waypoint objects 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. (Some profiles, such as MBDirectionsProfileIdentifierAutomobileAvoidingTraffic, may have lower limits.)

    profileIdentifier

    A string specifying the primary mode of transportation for the routes. This parameter, if set, should be set to MBDirectionsProfileIdentifierAutomobile, MBDirectionsProfileIdentifierAutomobileAvoidingTraffic, MBDirectionsProfileIdentifierCycling, or MBDirectionsProfileIdentifierWalking. MBDirectionsProfileIdentifierAutomobile is used by default.

  • An array of Waypoint objects 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

    @objc open var waypoints: [Waypoint]
  • A string specifying the primary mode of transportation for the routes.

    This property should be set to MBDirectionsProfileIdentifierAutomobile, MBDirectionsProfileIdentifierAutomobileAvoidingTraffic, MBDirectionsProfileIdentifierCycling, or MBDirectionsProfileIdentifierWalking. The default value of this property is MBDirectionsProfileIdentifierAutomobile, which specifies driving directions.

    Declaration

    Swift

    @objc open var profileIdentifier: MBDirectionsProfileIdentifier
  • A Boolean value indicating whether MBRouteStep objects should be included in the response.

    If the value of this property is true, the returned route contains turn-by-turn instructions. Each returned MBRoute object contains one or more MBRouteLeg object that in turn contains one or more MBRouteStep objects. On the other hand, if the value of this property is false, the MBRouteLeg objects contain no MBRouteStep objects.

    If you only want to know the distance or estimated travel time to a destination, set this property to false to 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 to true.

    The default value of this property is false.

    Declaration

    Swift

    @objc 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

    @objc 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

    @objc open var routeShapeResolution = RouteShapeResolution.low
  • AttributeOptions for the route. Any combination of AttributeOptions can be specified.

    By default, no attribute options are specified. It is recommended that routeShapeResolution be set to .full.

    Declaration

    Swift

    @objc open var attributeOptions: AttributeOptions = []
  • The locale in which the route’s instructions are written.

    If you use MapboxDirections.swift with the Mapbox Directions API or Map Matching API, this property affects the sentence contained within the RouteStep.instructions property, but it does not affect any road names contained in that property or other properties such as RouteStep.name.

    The Directions API can provide instructions in a number of languages. Set this property to Bundle.main.preferredLocalizations.first or Locale.autoupdatingCurrent to match the application’s language or the system language, respectively.

    By default, this property is set to the current system locale.

    Declaration

    Swift

    @objc open var locale = Locale.autoupdatingCurrent
  • A Boolean value indicating whether each route step includes an array of SpokenInstructions.

    If this option is set to true, the RouteStep.instructionsSpokenAlongStep property is set to an array of SpokenInstructions.

    Declaration

    Swift

    @objc open var includesSpokenInstructions = false
  • The measurement system used in spoken instructions included in route steps.

    If the includesSpokenInstructions property is set to true, this property determines the units used for measuring the distance remaining until an upcoming maneuver. If the includesSpokenInstructions property is set to false, this property has no effect.

    You should choose a measurement system appropriate for the current region. You can also allow the user to indicate their preferred measurement system via a setting.

    Declaration

    Swift

    @objc open var distanceMeasurementSystem: MeasurementSystem = Locale.autoupdatingCurrent.usesMetric ? .metric : .imperial
  • If true, each RouteStep will contain the property visualInstructionsAlongStep.

    visualInstructionsAlongStep contains an array of VisualInstruction objects used for visually conveying information about a given RouteStep.

    Declaration

    Swift

    @objc open var includesVisualInstructions = false