Mapbox GL basic template
by javad ebrahimi
HTML
<script src="https://api.tiles.mapbox.com/mapbox-gl-js/v0.12.1/mapbox-gl.js"></script>
<link rel="stylesheet" href="https://api.tiles.mapbox.com/mapbox-gl-js/v0.12.1/mapbox-gl.css">
<script language="JavaScript" type='text/javascript' src='https://api.tiles.mapbox.com/mapbox-gl-js/v0.29.0/mapbox-gl.js'></script>
<script src='https://api.mapbox.com/mapbox-gl-js/plugins/mapbox-gl-draw/v0.16.0/mapbox-gl-draw.js'></script>
<link rel='stylesheet' href='https://api.mapbox.com/mapbox-gl-js/plugins/mapbox-gl-draw/v0.16.0/mapbox-gl-draw.css' type='text/css'/>
<div id='map'></div>
CSS
body { margin:0; padding:0; }
#map { position:absolute; top:0; bottom:0; width:100%; }
JavaScript
mapboxgl.accessToken = 'pk.eyJ1IjoiY2hya2kiLCJhIjoid0ZoNy1SZyJ9.X5fpB3ORT1-BSWItzx3Xbw';
var map = new mapboxgl.Map({
container: 'map', // container id
style: 'mapbox://styles/chrki/ciig34kb1007pbhm05v5rjwxb', //stylesheet location
center: [-74.50, 40], // starting position
zoom: 9 // starting zoom
});
map.addControl(new mapboxgl.NavigationControl(),['top-left']);
map.addControl(new mapboxgl.AttributionControl(),['bottom-right']);
map.setLayoutProperty('country-label-lg', 'text-field', ['get', 'name_fa']);
var draw = new MapboxDraw({
displayControlsDefault: false,
controls: {
line_string: true,
polygon: true,
point: true,
trash: true
}
});
map.addControl(draw,['top-left'] );
var drawnSHP = draw.getAll().features[0];
//draw control to limite one feature
map.on("draw.create", function (e) {
console.log("added");
var data = draw.getAll();
map.removeControl(draw);
draw.options.controls.polygon = false;
draw.options.controls.point = false;
draw.options.controls.line_string = false;
map.addControl(draw,['top-left'] );
draw.add(data);
drawnSHP = draw.getAll().features[0];
});
map.on("draw.delete", function(e) {
console.log("removed");
map.removeControl(draw);
draw.options.controls.polygon = true;
draw.options.controls.point = true;
draw.options.controls.line_string = true;
map.addControl(draw,['top-left'] );
drawnSHP = draw.getAll().features[0];
});