Mapbox gl playground

A mapbox gl js playground for quick tryouts

by cs09g

HTML

<script src="https://api.tiles.mapbox.com/mapbox-gl-js/v0.52.0/mapbox-gl.js"></script>
<link rel="stylesheet" href="https://api.tiles.mapbox.com/mapbox-gl-js/v0.52.0/mapbox-gl.css">
<div id="map"></div>

CSS

#map {
  height: 500px;
}

JavaScript

mapboxgl.accessToken = 'pk.eyJ1IjoiZmFyYWRheTIiLCJhIjoiTUVHbDl5OCJ9.buFaqIdaIM3iXr1BOYKpsQ';

var map = new mapboxgl.Map({
  container: 'map',
  style: 'mapbox://styles/mapbox/streets-v9',
  center: [-65.017, -16.457],
  zoom: 5
});

map.dragPan.disable();
    map.dragRotate.disable();

    var isMoving = false;
    var offset;
    map.on("contextmenu", (e) => {});
    map.on("mousedown", (e) => {
      if (e.originalEvent.button === 2) {
        isMoving = true;
        offset = e.point;
      } 
    });
    map.on("mousemove", (e) => {
      if (isMoving) {
        map.panBy([offset.x - e.point.x, offset.y - e.point.y], {
          duration: 0,
        });
        offset = e.point;
      }
    });
    map.on("mouseup", (e) => {
      isMoving = false;
    });