A node.js and browser JavaScript client to Mapbox services.
Generally Available
- Geocoding
- Forward (place names ⇢ longitude, latitude)
- Reverse (longitude, latitude ⇢ place names)
- Upload API
- Upload data to be processed and hosted by Mapbox.
- Directions
- Profiles for driving, walking, and cycling
- GeoJSON & Polyline formatting
- Instructions as text or HTML
- Datasets
- Retrieve, add, and edit datasets.
- Styles
- Retrieve, add and edit styles, fonts and icons.
- Tilesets
- List tilesets.
- Tokens
- Retrieve, add and edit access tokens.
- Matrix
- Travel-time tables between coordinates up to 25 pairs
- Profiles for driving, walking and cycling
- Map Matching
- Aligns GPS trace data to roads and paths from OpenStreetMap data
$ npm install --save mapbox
Setup:
var MapboxClient = require('mapbox');
var client = new MapboxClient('YOUR_ACCESS_TOKEN');
Basic usage of the geocoder:
client.geocodeForward('Chester, NJ', function(err, data, res) {
// data is the geocoding result as parsed JSON
// res is the http response, including: status, headers and entity properties
});
As an alternative to callbacks, each method also returns a Promise:
client.geocodeForward('Chester, NJ')
.then(function(res) {
// res is the http response, including: status, headers and entity properties
var data = res.entity; // data is the geocoding result as parsed JSON
})
.catch(function(err) {
// handle errors
});
Listing resources may return a subset of the entire listing. If more pages are
available the res
object will contain a .nextPage()
method. This method
requires no arguments, other than an optional callback function, otherwise a
Promise is returned.
Each service is available as a sub-require if you'd only like to include only
its functionality and not the entire bundle. The returned MapboxClient
will have the same constructor style but only include functions necessary
for that service's support.
Available sub-requires:
- geocoding:
require('mapbox/lib/services/geocoding')
- surface:
require('mapbox/lib/services/surface')
- matching:
require('mapbox/lib/services/matching')
- directions:
require('mapbox/lib/services/directions')
- distance:
require('mapbox/lib/services/distance')
- datasets:
require('mapbox/lib/services/datasets')
- styles:
require('mapbox/lib/services/styles')
- uploads:
require('mapbox/lib/services/uploads')
- tilestats:
require('mapbox/lib/services/tilestats')
- static:
require('mapbox/lib/services/static')
- tilesets:
require('mapbox/lib/services/tilesets')
- tokens:
require('mapbox/lib/services/tokens')