Big News: Socket Selected for OpenAI's Cybersecurity Grant Program.Details
Socket
Book a DemoSign in
Socket

@alcalin/leaflet-tilelayer-wmts

Package Overview
Dependencies
Maintainers
1
Versions
3
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@alcalin/leaflet-tilelayer-wmts

A modern, lightweight Leaflet plugin for displaying WMTS tile layers.

latest
Source
npmnpm
Version
2.0.2
Version published
Maintainers
1
Created
Source

L.TileLayer.WMTS

npm version npm downloads bundle size License Demo

A modern, lightweight Leaflet WMTS TileLayer plugin.

  • ✅ Spec-compliant WMTS KVP (SERVICE, REQUEST, VERSION, …)
  • ✅ Works out-of-the-box with GoogleMapsCompatible/WebMercator
  • ✅ Supports custom TILEMATRIX labels for non-GMC grids
  • extraParams, baseQuery, crossOrigin, error hooks
  • 🧩 Ships both ESM (for npm/bundlers) and UMD (for browsers/demos) builds

Install (npm)

npm i @alcalin/leaflet-tilelayer-wmts leaflet

Peer dep: you must also install leaflet in your app.

Usage (bundlers, ESM)

import * as L from "leaflet";
import { wmts } from "@alcalin/leaflet-tilelayer-wmts";

const map = L.map("map").setView([40.7128, -74.0060], 5);

L.tileLayer("https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png", {
  maxZoom: 19
}).addTo(map);

// GoogleMapsCompatible (WebMercator) example
const layer = wmts("https://basemap.nationalmap.gov/arcgis/rest/services/USGSTopo/MapServer/WMTS/tile/1.0.0/", {
  layer: "USGSTopo",
  style: "default",
  tileMatrixSet: "default028mm",
  format: "image/png",
  googleMapsCompatible: true,
  crossOrigin: true
});

layer.addTo(map);

Browser Demo (UMD build)

A prebuilt UMD bundle is available under dist/.

<!DOCTYPE html>
<html>
<head>
  <meta charset="utf-8" />
  <title>WMTS Plugin Demo</title>
  <link rel="stylesheet" href="https://unpkg.com/leaflet@1.9.4/dist/leaflet.css" />
</head>
<body>
  <div id="map" style="height:100vh"></div>

  <script src="https://unpkg.com/leaflet@1.9.4/dist/leaflet.js"></script>
  <script src="./dist/leaflet.tilelayer.wmts.min.js"></script>
  <script>
    const map = L.map("map").setView([40.7, -74], 5);
    L.tileLayer("https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png", {
      maxZoom: 19
    }).addTo(map);

    const layer = LTileLayerWMTS.wmts(
      "https://basemap.nationalmap.gov/arcgis/rest/services/USGSTopo/MapServer/WMTS/tile/1.0.0/",
      {
        layer: "USGSTopo",
        style: "default",
        tileMatrixSet: "default028mm",
        format: "image/png",
        googleMapsCompatible: true
      }
    );
    layer.addTo(map);
  </script>
</body>
</html>

Options

WMTSOptions (in addition to L.TileLayerOptions):

OptionTypeDefaultDescription
layerstringWMTS layer name
tileMatrixSetstringWMTS matrix set
stylestring"default"WMTS style
formatstring"image/png"Tile MIME type
tileMatrixLabels(string|number)[]undefinedMap Leaflet zoom → TILEMATRIX
googleMapsCompatiblebooleantrueUse XYZ mapping directly
extraParamsRecord<string, any>{}Extra query params (e.g., token)
crossOriginstring|trueundefinedSets crossorigin on tile images
baseQuerystringundefinedAppended before WMTS KVPs

Project Structure

/src
  leaflet.tilelayer.wmts.js      # ESM source
  leaflet.tilelayer.wmts.d.ts    # TypeScript typings
/dist
  leaflet.tilelayer.wmts.umd.js  # UMD build (Rollup output)
  leaflet.tilelayer.wmts.min.js  # Minified UMD build (for browser/demo)
example.html                     # GitHub Pages demo (loads dist build)

Troubleshooting

  • Failed to resolve module specifier "leaflet"
    Use this package in a bundler-based app (npm install). For browser demos, include the UMD build under dist/.

License

Beerware

Keywords

leaflet

FAQs

Package last updated on 25 Sep 2025

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts