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.

  • 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.

  • A Boolean value indicating whether RouteStep 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 Route object contains one or more RouteLeg object that in turn contains one or more RouteStep objects. On the other hand, if the value of this property is false, the RouteLeg objects contain no RouteStep 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.

  • 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.

  • 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.

  • 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.

  • The locale in which the route’s instructions are written.

    If you use the MapboxDirections framework 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

    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.

  • 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.

  • 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.

  • 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.

  • The time immediately before a Directions object fetched this result.

    If you manually start fetching a task returned by Directions.url(forCalculating:), this property is set to nil; use the URLSessionTaskTransactionMetrics.fetchStartDate property instead. This property may also be set to nil if you create this result from a JSON object or encoded object.

    This property does not persist after encoding and decoding.

  • An array of URL query items (parameters) to include in an HTTP request.

    The query items are included in the URL of a GET request or the body of a POST request.