Skip to content

Interactive, thoroughly customizable maps in the browser, powered by vector tiles and WebGL

License

Notifications You must be signed in to change notification settings

mapbox/mapbox-gl-js

This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.

Folders and files

NameName
Last commit message
Last commit date

Latest commit

b7bd4fe · Sep 27, 2016
Sep 27, 2016
Sep 19, 2016
Aug 2, 2016
Sep 7, 2016
Aug 19, 2016
Sep 19, 2016
Sep 27, 2016
Sep 27, 2016
Feb 11, 2016
Aug 30, 2016
Sep 7, 2016
Sep 6, 2016
Sep 20, 2016
Aug 30, 2016
Apr 18, 2016
May 18, 2016
Sep 19, 2016
Sep 26, 2016
Jul 13, 2016
Jul 13, 2016
Sep 16, 2016
Sep 27, 2016
Sep 21, 2016

Repository files navigation

Build Status Coverage Status

Mapbox GL JS

Mapbox GL JS is a Javascript & WebGL library that renders interactive maps from vector tiles and Mapbox styles.

It is part of the Mapbox GL ecosystem which includes Mapbox GL Native, a suite of compatible SDKs for native desktop and mobile applications.

Mapbox GL JS gallery

Using Mapbox vector tiles and styles

To use the vector tiles and styles hosted on http://mapbox.com, you must create an account and then obtain an access token. You may learn more about access tokens here.

Using Mapbox GL JS with a <script> tag

<!DOCTYPE html>
<html>
<head>
    <script src='https://api.tiles.mapbox.com/mapbox-gl-js/v0.24.0/mapbox-gl.js'></script>
    <link href='https://api.tiles.mapbox.com/mapbox-gl-js/v0.24.0/mapbox-gl.css' rel='stylesheet' />
</head>

<body>
    <div id='map' style='width: 400px; height: 300px;' />

    <script>
        mapboxgl.accessToken = '<your access token here>';
        var map = new mapboxgl.Map({
            container: 'map',
            style: 'mapbox://styles/mapbox/streets-v9'
        });
    </script>
</body>
</html>

Using Mapbox GL JS with Browserify

Install the mapbox-gl npm package

npm install --save mapbox-gl

Instantiate mapboxgl.Map

var mapboxgl = require('mapbox-gl');
mapboxgl.accessToken = '<your access token here>';
var map = new mapboxgl.Map({
    container: '<your HTML element id>',
    style: 'mapbox://styles/mapbox/streets-v9'
});

Using Mapbox GL JS with other module systems

Since our build system depends on Browserify, to use Mapbox GL with any other module bundlers like Webpack, SystemJS, you have to require the distribution build instead of the package entry point:

var mapboxgl = require('mapbox-gl/dist/mapbox-gl.js');

If you're using the ES6 module system (e.g. with Rollup as a bundler), you can import mapboxgl like so:

import mapboxgl from 'mapbox-gl/dist/mapbox-gl.js';

Third Party Projects

These projects are written and maintained by the GL JS community. Feel free to open a PR add your own projects to this list. We ❤️ third party projects!

Using Mapbox GL JS with CSP

You may use a Content Security Policy to restrict the resources your page has access to, as a way of guarding against Cross-Site Scripting and other types of attacks. If you do, Mapbox GL JS requires the following directives:

child-src blob: ;
img-src data: blob: ;
script-src 'unsafe-eval' ;

Requesting styles from Mapbox or other services will require additional directives. For Mapbox, you can use this connect-src setting:

connect-src https://*.tiles.mapbox.com https://api.mapbox.com

Contributing to Mapbox GL JS

See CONTRIBUTING.md.