route

AMD: require(["esri/rest/route"], (route) => { /* code goes here */ });
ESM: import * as route from "@arcgis/core/rest/route.js";
Object: esri/rest/route
Since: ArcGIS Maps SDK for JavaScript 4.19

Find routes between two or more locations and optionally get driving directions. The route module uses ArcGIS Server network analysis services to calculate routes. Network analysis services allow you to solve simple routing problems as well as complex ones that take into account multiple stops, barriers, and time windows.

To work directly with route, the basic pattern is:

  1. Define the URL to the ArcGIS Server REST resource
  2. Configure the parameters
  3. Solve the route and then specify what to do with its results and handle any errors that may be returned.

Method Overview

Name Return Type Summary Object
Promise<RouteSolveResult>

Solves the route against the route layer with the route parameters.

route

Method Details

solve

Method
solve(url, params, requestOptions){Promise<RouteSolveResult>}

Solves the route against the route layer with the route parameters.

Parameters
url String

URL to the ArcGIS Server REST resource that represents a network analysis service.

Route parameters used as input to generate the route.

requestOptions Object
optional

Additional options to be used for the data request.

Returns
Type Description
Promise<RouteSolveResult> When resolved, returns an instance of RouteSolveResult.
Example
require([
  "esri/rest/route",
  "esri/core/Collection",
  "esri/rest/support/RouteParameters",
  "esri/rest/support/Stop"
], function(route, Collection, RouteParameters, Stop) {

  // point the URL to a valid routing service
  const routeUrl =
    "https://route-api.arcgis.com/arcgis/rest/services/World/Route/NAServer/Route_World";

  // create a Collection of new Stops
  const stops = new Collection([
    new Stop({
      geometry: { x: -117.59275, y: 34.06200 },
      name: "Ontario Airport"
    }),
    new Stop({
      geometry: { x: -117.19570, y: 34.05609 },
      name: "Esri Campus"
    })
  ]);

  // setup the RouteParameters with API key and Stops
  const routeParams = new RouteParameters({
    // An authorization string used to access the routing service
    apiKey: "YOUR_API_KEY",
    stops
  });

  // solve the route with the RouteParameters
  function solveRoute() {
    route.solve(routeUrl, routeParams).then(showRouteInfo);
  }

  // do something useful with the results
  // like display them to the console
  function showRouteInfo(routeSolveResult) {
    console.log("Show all results: ", routeSolveResult);
    console.log("Show the route information: ", routeSolveResult.routeResults[0].route);
  }

  solveRoute();
});

Your browser is no longer supported. Please upgrade your browser for the best experience. See our browser deprecation post for more details.