mirror of
https://github.com/protomaps/PMTiles.git
synced 2026-02-04 10:51:07 +00:00
* Add MLT tile type * MLT code implementation * fix build - /app needs to wait for new pmtiles version on npm * update CHANGELOGs and python, js versions [#596, #633] --------- Co-authored-by: Michael Barry <msbarry@users.noreply.github.com> Co-authored-by: Brandon Liu <bdon@users.noreply.github.com> Co-authored-by: Brandon Liu <bdon@bdon.org>
PMTiles for Browsers + NodeJS
See the JavaScript API docs
the PMTiles package can be included via script tag or ES6 module:
<script src="https://unpkg.com/pmtiles@<VERSION>/dist/pmtiles.js"></script>
All the PMTiles exports are available under the global pmtiles variable e.g. pmtiles.PMTiles.
As an ES6 module: npm add pmtiles
import { PMTiles } from "pmtiles";
Leaflet: Raster tileset
Example of a raster PMTiles archive displayed in Leaflet:
import { PMTiles, leafletRasterLayer } from "pmtiles";
const p = new PMTiles('example.pmtiles')
leafletRasterLayer(p,{attribution:'© <a href="https://openstreetmap.org">OpenStreetMap</a>'}).addTo(map)
Leaflet: Vector tileset
MapLibre GL JS
Example of a PMTiles archive displayed in MapLibre GL JS:
import { Protocol } from "pmtiles";
let protocol = new Protocol();
maplibregl.addProtocol("pmtiles",protocol.tile);
var style = {
"version": 8,
"sources": {
"example_source": {
"type": "vector",
"url": "pmtiles://https://example.com/example.pmtiles",
"attribution": '© <a href="https://openstreetmap.org">OpenStreetMap</a>'
...
CORS
See the Protomaps Docs on Cloud Storage for uploading and configuring CORS for Cloudflare R2, Amazon S3, Google Cloud Storage and more.