map-promisified

Wrapper for Mapbox Gl JS library that gives nice Promise-based API to asynchronous map functions

Downloads in past

Stats

StarsIssuesVersionUpdatedCreatedSize
map-promisified
3260.4.05 years ago6 years agoMinified + gzip package size for map-promisified in KB

Readme

map-promisified
Wrapper for Mapbox Gl JS library that gives nice Promise-based API to asynchronous map functions
Usage:
import promisify from 'map-promisified'
import Mapbox from 'mapbox-gl'

const map = new Mapbox.Map({
  // … map properties …
})

// promisify single method:
const flyToPromisified = promisify(map, 'flyTo')

async function flyToPosition () {
  const newPosition = await flyToPromisified([10, 20])
  console.log(newPosition)
  // ⇒ { bearing: 0
  //​      center: Object { lng: …, lat: … },
  //      pitch: 0,
  //      zoom: 9
  //    }
}

// promisify all async map methods:
const actions = promisify(map)

async function flyToPositionAction () {
  const newPosition = await actions.flyTo([10, 20])
  console.log(newPosition)
  // ⇒ { bearing: 0
  //​      center: Object { lng: …, lat: … },
  //      pitch: 0,
  //      zoom: 9
  //    }
}

Promisified methods: setCenter panBy panTo setZoom zoomTo zoomIn zoomOut setBearing rotateTo resetNorth snapToNorth setPitch fitBounds fitScreenCoordinates jumpTo easeTo flyTo