Fork: Fit a map to a bounding box

Use fitBounds to show a specific area of the map in view, regardless of the pixel size of the map. See the example: https://docs.mapbox.com//mapbox-gl-js/example/fitbounds/

by allisonstrandberg

HTML

<script src="https://cdn.jsdelivr.net/gh/mapdwell/mapbox-gl-js@fit-bearing-dist/dist/mapbox-gl.js"></script>
<link rel="stylesheet" href="https://api.mapbox.com/mapbox-gl-js/v1.11.0/mapbox-gl.css">


<div id="map"></div>
<br />
<button id="fit">Fit to Kenya</button>

CSS

body { margin: 0; padding: 0; }
	#map { position: absolute; top: 0; bottom: 0; width: 100%; }

    #fit {
        display: block;
        position: relative;
        margin: 0px auto;
        width: 50%;
        height: 40px;
        padding: 10px;
        border: none;
        border-radius: 3px;
        font-size: 12px;
        text-align: center;
        color: #fff;
        background: #ee8a65;
    }

JavaScript

mapboxgl.accessToken = 'pk.eyJ1IjoibWFwZHdlbGwiLCJhIjoiY2pmZnRpZHYzMnhzMTRhcWg1NWJ1NHI5NyJ9.ndwyu6MXyHwXBDtnkJKqmA';
    var map = new mapboxgl.Map({
        container: 'map',
        style: 'mapbox://styles/mapbox/streets-v11',
        center: [-74.5, 40],
        zoom: 9
    });

    document.getElementById('fit').addEventListener('click', function() {
        map.fitBounds([
            [32.958984, -5.353521],
            [43.50585, 5.615985]
        ], {
          bearing: 90,
					padding: {
            left: 200
          }
        });
    });