This module adds control which can export PDF and images. It was forked from mapbox-gl-export.
This module is using source code of mpetroff/print-maps. I just adopted this library to normal Mapbox GL Plugin. Thanks so much to develop this library!
yarn add @watergis/maplibre-gl-export --save
See demo.
import { MaplibreExportControl, Size, PageOrientation, Format, DPI} from "@watergis/maplibre-gl-export";
import '@watergis/maplibre-gl-export/css/styles.css';
import { Map} from 'maplibre-gl';
const map = new Map();
// create control with default options
map.addControl(new MaplibreExportControl(), 'top-right');
// create control with specified options
map.addControl(new MaplibreExportControl({
PageSize: Size.A3,
PageOrientation: PageOrientation.Portrait,
Format: Format.PNG,
DPI: DPI[96],
Crosshair: true
}), 'top-right');
You can specify default option as follows.
- PageSize
- You can select from
A2
toA6
orB2
toB6
- default page size is
A4
- You can select from
- PageOrientation
- You can select
landscape
orportrait
- default is
landscape
- You can select
- Format
- You can select it from
jpg
,png
,svg
andpdf
- default is
PDF
- You can select it from
- DPI
- You can select it from
72
,96
,200
,300
and400
. - default is
300
- You can select it from
- Crosshair
- Display crosshair on the map. it helps to adjust the map center before printing.
- accepts
true
andfalse
value - default is
false
When you use exported map, please includes attribution as follows.
If you can include HTML, use this code snippet that includes links to Mapbox & OpenStreetMap:
© NARWASSCO, Ltd. © <a href='https://www.mapbox.com/about/maps/'>Mapbox</a> © <a href='https://www.openstreetmap.org/copyright'>OpenStreetMap</a> <strong><a href='https://www.mapbox.com/map-feedback/' target='_blank'>Improve this map</a></strong>Powered by the United Nations Vector Tile Toolkit
For print output or if you can’t include links, use this text-only attribution:
© NARWASSCO, Ltd. ©Mapbox ©OpenStreetMap contributors, Powered by the United Nations Vector Tile Toolkit
© NARWASSCO, Ltd.
is default example of map data by Narok Water and Sewerage Services Co., Ltd.
, Kenya. If you don't use current map, you don't need to use this attribution.
Also, default example is using base map by United Nation Vector Tile Toolkit. That is why Powered by the United Nations Vector Tile Toolkit
is included in above.
yarn run lint # check styling of source code
yarn run lint:fix # fix styling by eslint
yarn run dev
open http://localhost:8080.
If there are any changes on source code, it will be reflected automatically.
yarn run build
The modules will be generated under dist
folder.
yarn run deploy
It will deploy files under example
folder to gh-pages.
vi package.json
# update version in package.json
git add package.json
git commit -m "v1.X.X"
git push origin main
git tag v1.X.X main
git push --tag
# release CI will create draft release in Github pages, then publish it if it is ready.
# publish CI will deploy npmjs and Github Packages.
This Maplibre GL Export Control is still under development. so most welcome any feedbacks and pull request to this repository.