Support for TomTom in Leaflet Routing Machine
JavaScript Shell
Switch branches/tags
Clone or download
Pull request Compare This branch is 8 commits ahead, 29 commits behind perliedman:master.
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.
package.json update version to 1.0.4 Feb 7, 2018

Leaflet Routing Machine / TomTom

Extends Leaflet Routing Machine with support for TomTom.

Some brief instructions follow below, but the Leaflet Routing Machine tutorial on alternative routers is recommended.


Install nodejs/iojs, clone this repository and execute:

npm install

Put the script after Leaflet and Leaflet Routing Machine has been loaded.

To use with for example Browserify:

npm install --save lrm-tomtom


There's a single class exported by this module, L.Routing.TomTom. It implements the IRouter interface. Use it to replace Leaflet Routing Machine's default OSRM router implementation:

var L = require('leaflet');
require('lrm-tomtom'); // This will tack on the class to the L.Routing namespace

    router: new L.Routing.TomTom('your TomTom API key', options),

Note that you will need to pass a valid TomTom API key to the constructor.


Some of the available options from TomTom Online Routing are supported:

  • routeType: string (fastest, shortest, eco, thrilling)
  • language: string (en-GB)
  • instructionsType: string (coded, text, tagged)
  • traffic: boolean
  • avoid: string / array (tollRoads, motorways, ferries, unpavedRoads, carpools, alreadyUsedRoads)
  • travelMode: string (car, truck, taxi, bus, van, motorcycle, bicycle, pedestrian)
  • vehicleMaxSpeed: int (in km/h)
  • vehicleWeight: int (in kg)
  • vehicleAxleWeight: int (in kg)
  • vehicleLength: int (in m)
  • vehicleWidth: int (in m)
  • vehicleHeight: int (in m)
  • departAt: string (YYYY-MM-DD\THH:mm:ss, i.e. 2017-03-20T20:00:15)
  • arriveAt: string (YYYY-MM-DD\THH:mm:ss)
  • vehicleCommercial: boolean

See TomTom Online Routing Documentation for further informations.