/map-promisified

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

Primary LanguageTypeScriptMIT LicenseMIT

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