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

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


Method Details


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

Solves the route against the route layer with the route 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

Additional options to be used for the data request.

Type Description
Promise<RouteSolveResult> When resolved, returns an instance of RouteSolveResult.
], function(route, Collection, RouteParameters, Stop) {

  // point the URL to a valid routing service
  const routeUrl =

  // 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",

  // 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);


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