Skip to content
Go to file

Latest commit


Git stats


Failed to load latest commit information.
Latest commit message
Commit time

Leaflet Routing Machine - Esri plugin

enables walk, drive and truck routing using Esri's hosted service.


Check out the live demo.



<script src="./lrm-esri.js"></script>
additional profiles:
Walking, Trucking, Rural Driving, Walking Distance, Trucking Distance, Driving Distance and Rural Driving Distance
var control = L.Routing.control({
	router: L.Routing.esri({
    liveTraffic: true,
    profile: 'Driving'


Esri's hosted routing service can find the shortest driving, truck and walk time or distance for up to 150 input stops. It is able to incorporate both live and historic traffic and can reorder input stops to find the optimal sequence.


Use a proxied service

You can allow anonymous users to get directions in your application by leveraging a proxied service - live demo

  1. Sign up for a free developer account
  2. Create your own proxied service url
  3. supply the url in the provider constructor
var control = L.Routing.control({
  router: L.Routing.esri({
    url: '<your proxied service url>'

When credentials are embedded, 1250 requests/month are provided for free. Deployment packs are available to help you scale.

Use OAuth2

You can also use OAuth2 and bill routing charges directly to existing ArcGIS users - live demo

  1. Sign up for a free developer account
  2. Create and register a new application
  3. Reference your clientID in your app and configure a redirectUri
  4. after the user signs in, supply their token in the provider constructor (more info here)
var control = L.Routing.control({
  router: L.Routing.esri({
    token: '<user token>'

Development Instructions

If you'd like to inspect and modify the source code, follow the instructions below to set up a local development environment.

  1. Fork and clone
  2. cd into the lrm-esri folder
  3. Install the package.json dependencies by running npm install
  4. Run npm start from the command line. This will recompile minified source in the dist directory, launch a tiny webserver and begin watching the raw source for changes.
  5. Run http://localhost:8080/examples/index.html to check out your changes
  6. Create a pull request


  • leaflet
  • leaflet-routing-machine
  • cors-lite
  • esri-leaflet



Find a bug or want to request a new feature? Please let us know by submitting an issue.


Esri welcomes contributions from anyone and everyone. Please see our guidelines for contributing.


Many Esri routing service features have not been implemented

  • barriers
  • route optimization
  • driving, trucking and walking distance
  • time windows
  • routing for emergency vehicles


Copyright © 2017 Esri

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

A copy of the license is available in the repository's LICENSE file.


use Esri's hosted routing service in Leaflet to generate walk, car and truck routes/directions





No releases published


No packages published
You can’t perform that action at this time.