@mapbox/mapbox-match.js v0.0.1
mapbox-match.js
Mapbox.js plugin to match GeoJSON geometries to the OpenStreetMap streets network using the Mapbox Map Matching API.
A GPS track (cyan) matched to the streets via a profile for cars (solid red line) and for pedestrians (dotted red line).
Installation
Include mapbox-match.js after Mapbox.js in your html. Download the js files from the dist
directory.
example
L.mapbox.mapmatching(geojson, options, function (error, layer) {
layer.addTo(map);
layer.setStyle({
color: '#9a0202',
weight: 4,
opacity: 0.8
});
});
API
L.mapbox.mapmatching(geojson, options, callback)
Given a geojson object, returns a leaflet feature layer with the matched geometries. Since an asynchronous request is made for matching, you need to specify a callback function that runs when there is a successful response.
Options
name | required? | description |
---|---|---|
profile | required | Profile to match trace against. Options are driving , walking and cycling |
mapMatchAPI | optional | Custom API endpoint to query. Overrides the profile option` |
gpsPrecision | optional | Integer indicating the precision of the input geometries in metres (default: 5) |
return | optional | Type of object to return after matching. Options are layer (default) returns a leaflet featureLayer, geojson returns a geojson feature collection |
Development
This is a browserify project:
git clone git@github.com:mapbox/mapbox-match.js.git
cd mapbox-match.js
npm install
npm run build
mapbox-match.js
and mapbox-match.min.js
are built files generated
from index.js
by browserify
. If you find an issue, it either needs to be
fixed in index.js
, or in one of the libraries mapbox-mapmatch uses
to parse formats.
##Algorithm 1. Read an input geojson FeatureCollection 2. Tidy the geojson using geojson-tidy 3. Match every feature using the Mapbox Map Matching API 4. Return a leaflet featureLayer with the matched features or just a geojson object
7 years ago