Alignment loss
by Tristen Brown
HTML
<link rel="stylesheet" href="https://api.tiles.mapbox.com/mapbox-gl-js/v1.2.0/mapbox-gl.css">
<script src="https://api.tiles.mapbox.com/mapbox-gl-js/v1.2.0/mapbox-gl.js"></script>
<div id="map"></div>
CSS
body {
margin: 0;
padding: 0;
}
#map {
position: absolute;
top: 0;
bottom: 0;
width: 100%;
}
JavaScript
mapboxgl.accessToken = 'pk.eyJ1IjoidHJpc3RlbiIsImEiOiJjajZoOXU4Z2kwNnppMnlxd2d6bTFvZ2xtIn0.PP7AoUakMfeqdXFHdsY0oA';
const style = {
version: 8,
center: [-78.822, 43.7187],
zoom: 6,
sources: {
composite: {
url: 'mapbox://mapbox.mapbox-streets-v8',
type: 'vector'
}
},
sprite: 'mapbox://sprites/tristen/cjwurvssn93s01cny9t91anji/a3zx8crhca28a1j1ljgwyyo1z',
glyphs: 'mapbox://fonts/tristen/{fontstack}/{range}.pbf',
layers: [{
id: 'land',
type: 'background',
paint: {
'background-color': 'hsl(35, 32%, 91%)'
}
},
{
id: 'water',
type: 'fill',
source: 'composite',
'source-layer': 'water',
paint: {
'fill-color': 'hsl(196, 80%, 70%)'
}
},
{
id: 'label',
type: 'symbol',
source: 'composite',
'source-layer': 'place_label',
layout: {
'text-size': 18,
'text-field': ['get', 'name'],
'icon-image': 'marker-15',
'text-variable-anchor': [
'step',
['zoom'],
['literal', ['left', 'right', 'bottom', 'top']],
11,
['literal', ['center']]
],
'text-justify': 'auto',
'text-radial-offset': 0.25
},
paint: {
'text-color': 'black',
'icon-opacity': ['step', ['zoom'], 1, 11, 0]
}
}
]
};
const map = new mapboxgl.Map({
container: 'map',
style
});