Skip to content

protomaps/protomaps-leaflet

Folders and files

NameName
Last commit message
Last commit date

Latest commit

9064eac · Mar 10, 2025
Jul 28, 2024
Mar 10, 2025
Mar 10, 2025
Jan 5, 2025
May 9, 2024
Oct 7, 2021
Jan 5, 2025
Jan 23, 2024
Jul 28, 2024
Jan 24, 2024
Feb 19, 2024
Mar 10, 2025
Mar 10, 2025
Apr 3, 2022
Sep 12, 2024

Repository files navigation

protomaps-leaflet

Vector tile rendering and labeling for Leaflet.

npm Test suite

This project is a complete vector tile renderer - including quality label layout - in as simple as possible of an implementation. It's an alternative to renderers like MapLibre GL JS in a fraction of the size.

New projects starting from scratch should probably use MapLibre GL, but this library is useful as a drop-in replacement for raster basemaps in Leaflet, either using the Protomaps API or PMTiles on your own storage.

Features

  • Render interactive slippy maps with Leaflet integration
  • Supports variable web fonts with multiple weights and italics in a single font file
  • Can read normal Z/X/Y tile URLs or offline, static-hosted tile archives in PMTiles format
  • Full out-of-the-box support for right-to-left and Indic/Brahmic writing systems
  • Configurable via plain JavaScript
  • (Advanced) Extensible API for defining your own symbolizers

See the docs on what protomaps-leaflet is, what protomaps-leaflet is not

Demos

How to use

<script src="https://unpkg.com/[email protected]/dist/protomaps-leaflet.js"></script>
<script>
    const map = L.map('map')
    var layer = protomapsL.leafletLayer({url:'FILE.pmtiles OR ENDPOINT/{z}/{x}/{y}.mvt',theme:"light"})
    layer.addTo(map)
</script>

See Also