Skip to content
Switch branches/tags

Latest commit


Git stats


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

Leaflet Routing Machine / Ign Geoservices

npm version

Extends Leaflet Routing Machine with support for IGN GéoServices services.

Note: Versions 0.1.x were released as lrm-geoportail, and supported the old API via Geoportail. They required an API key to be used.

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


Go to the releases page to get the script to include in your page. Put the script after Leaflet, Leaflet Routing Machine and corslite have been loaded.

To use with for example Browserify:

npm install --save lrm-ign-geoservices


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

var L = require('leaflet');
var corslite = require('@mapbox/corslite');
require('lrm-ign-geoservices'); // This will tack on the class to the L.Routing namespace

    router: new L.Routing.IgnGeoservices(),

Available options

Options can be passed to the constructor, and/or to the route method:

router = new L.Routing.IgnGeoservices({ resource: 'bdtopo-pgr' });
router.route(waypoints, callback, context, /* options */ { profile: 'pedestrian' });
  • timeout: timeout for each request in ms (defaults to 10 seconds)
  • resource: bdtopo-osrm (default) or bdtopo-pgr
  • profile: car (default) or pedestrian
  • optimization: fastest (default) or shortest

See IGN GeoServices documentation and API description for reference.

Known limitations

  • Instructions are sometimes/mostly missing. This is due to limitations from the IGN API.


This projet is a complete rip-off of Per Liedman's lrm-graphhopper module.