@mapbox/mapbox-gl-draw
Adds support for drawing and editing features on mapbox-gl.js maps. See a live example here
Requires mapbox-gl-js. Compatible versions are documented in the package.json
On NPM this package has recently moved from mapbox-gl-draw
to @mapbox/mapbox-gl-draw
Installing
npm install @mapbox/mapbox-gl-draw
Draw ships with CSS, make sure you include it in your build.
When using modules
When using CDN
Usage in your application
When using modules
;;
When using a CDN
Example setup
mapboxglaccessToken = 'YOUR_ACCESS_TOKEN'; var map = container: 'map' style: 'mapbox://styles/mapbox/streets-v8' center: 40 -7450 zoom: 9; var Draw = ; // Map#addControl takes an optional second argument to set the position of the control.// If no position is specified the control defaults to `top-right`. See the docs // for more details: https://docs.mapbox.com/mapbox-gl-js/api/#map#addcontrol map; map;
https://www.mapbox.com/mapbox-gl-js/example/mapbox-gl-draw/
API.md for complete reference.
SeeEnhancements and New Interactions
For additional functionality check out our list of custom modes.
Mapbox Draw accepts functionality changes after the functionality has been proven out via a custom mode. This lets users experiment and validate their mode before entering a review process, hopefully promoting innovation. When you write a custom mode, please open a PR adding it to our list of custom modes.
Developing and testing
Install dependencies, build the source files and crank up a server via:
git clone git@github.com:mapbox/mapbox-gl-draw.git
yarn install
yarn start & open "http://localhost:9967/debug/?access_token=<token>"
Testing
npm run test
Publishing
To github and npm
npm version (major|minor|patch)
git push --tags
git push
npm publish
Update the version number in the GL JS example.
Naming actions
We're trying to follow standards when naming things. Here is a collection of links where we look for inspiration.