1.0.1 • Published 4 years ago

mapbox-gl-local-static-maps v1.0.1

Weekly downloads
1
License
MIT
Repository
github
Last release
4 years ago

mapbox-gl-local-static-maps

stability experimentalstandard-readme compliant

A local static images API for mapbox-gl-js

⚠️ THIS IS A PROOF OF CONCEPT AND MAY NOT RECEIVE ANY MORE LOVE ⚠️

This is a replica of the Mapbox Static Images API running in a ServiceWorker. This was needed by @digidem for Mapeo Desktop to generate PDFs in the client with maps. The maps in the PDF must be images, so this library provides a local API endpoint that uses the mapbox-gl-js client library to generate an image from a map.

Table of Contents

Install

npm install mapbox-gl-local-static-maps

Usage

You must copy sw.js into a location where it can be accessed from your web page, and pass the url to that script to startMapService().

const startMapService = require("mapbox-gl-local-static-maps");

startMapService("./sw.js");

See example.js for more details. Try it out locally with:

npm start

The map image will be rendered below the form.

API

Make a request to the same origin as the current page:

/static-maps/{lon},{lat},{zoom}/{width}x{height}{@2x}?accessToken=****&style=XXX

Where lat,lon are the map center and zoom the map zoom. width and height are the width and height in device pixels of the output map. @2x defines the pixel ratio, and can be any integer >= 1 e.g. @3x. style is a URL to a Mapbox style. If your style is hosted on Mapbox, then you must pass a valid accessToken.

Maintainers

@gmaclennan

Contributing

PRs accepted.

Small note: If editing the README, please conform to the standard-readme specification.

License

MIT © 2020 Gregor MacLennan