Leaflet Routing Machine / TomTom
July 21, 2017 ยท View on GitHub
Extends Leaflet Routing Machine with support for TomTom.
Some brief instructions follow below, but the Leaflet Routing Machine tutorial on alternative routers is recommended.
Installing
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
Using
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.
Options
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.