A WebGL JavaScript interactive maps library that can render Mapbox Vector Tiles.
Include the source via HTML tags:
<script src='https://api.tiles.mapbox.com/mapbox-gl-js/v0.9.0/mapbox-gl.js'></script>
<link href='https://api.tiles.mapbox.com/mapbox-gl-js/v0.9.0/mapbox-gl.css' rel='stylesheet' />For more information, see the API documentation and examples.
Alternatively, you can npm install mapbox-gl and use it as a bundled dependency with browserify.
The following tools are required on any platform to develop mapbox-gl-js.
Mac users are advised to use Homebrew unless they want to build these packages
manually. APT install steps are relevant to Ubuntu Linux users.
- git
- OSX:
brew install git - APT:
sudo apt-get install git
- OSX:
- node.js
- GNU Make
- imagemagick
- OSX:
brew install imagemagick - APT:
sudo apt-get install imagemagick
- OSX:
On Linux, libglew-dev is required in order to run rendering tests:
$ sudo apt-get install libglew-dev
To install dependencies and build the source files:
$ npm installTo serve the debug page:
$ npm start &
$ open "http://localhost:9966/debug/?access_token="`echo $MapboxAccessToken`This assumes you have the MapboxAccessToken environment variable set to a
Mapbox API token from https://www.mapbox.com/account/apps/.
This command uses mattdesl/budo to watch
source files, rebuild the browserify bundle, and trigger LiveReload updates.
There are two test suites associated with Mapbox GL JS
npm testruns quick unit testsnpm run test-suiteruns slower rendering tests from the mapbox-gl-test-suite repository
The FPS benchmarking page compares the performance of your local copy of GL JS against v0.7.0. Benchmarking configuration is within bench/fps/site.js.
To serve the FPS benchmark page:
$ npm start &
$ open "http://localhost:9966/bench/fps/?access_token="`echo $MapboxAccessToken`API documentation is written as JSDoc comments and processed with
documentationjs. We aim to document all classes and methods,
public and private. Mark private classes and methods with @private.
To generate the HTML documentation from JSDoc, run npm run docs. To view the result, run
jekyll serve (requires Jekyll).
To prepare a release:
- Update CHANGELOG.md
- Update the version number in package.json, README.md, _config.yml, and _config.mb-pages.yml
- Publish the build to the CDN (see below)
- Publish the build to npm (
npm publish) - Merge the
mb-pagesbranch tomaster
The CI server publishes builds to the Mapbox CDN automatically, but it does not currently support building tags. Therefore,
to release a new version, push a branch with a name of the form vX.Y.Z, with version matching package.json. Once the
build is successful, delete the branch and replace it with a tag.