Skip to content
master
Switch branches/tags
Code

Latest commit

 

Git stats

Files

Permalink
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time
 
 
 
 
src
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

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.

Installing

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

Using

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('leaflet-routing-machine');
require('lrm-ign-geoservices'); // This will tack on the class to the L.Routing namespace

L.Routing.control({
    router: new L.Routing.IgnGeoservices(),
}).addTo(map);

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.

Credits

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