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
./scripts/dist.sh
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('leaflet-routing-machine');
require('lrm-tomtom'); // This will tack on the class to the L.Routing namespace
L.Routing.control({
router: new L.Routing.TomTom('your TomTom API key', options),
}).addTo(map);
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.