How to create a heatmap layer in Leaflet

Learn how to create a heatmap layer in Leaflet JavaScript library using the leaflet-maptilersdk plugin.

In this example, the heatmap layer is zoom-compensated and as a result the blobs roughly maintain their size in world-scale as we zoom-in/out. Download the earthquake sample data.

NPM module setup


npm install --save @maptiler/leaflet-maptilersdk leaflet
import { MaptilerLayer, MapStyle } from '@maptiler/leaflet-maptilersdk';
import L from 'leaflet';
import 'leaflet/dist/leaflet.css';

const map = L.map('map').setView([37.999, -119.715], 7);
const mtLayer = new MaptilerLayer({
  apiKey: 'YOUR_MAPTILER_API_KEY_HERE',
  style: MapStyle.DATAVIZ.LIGHT, // optional
}).addTo(map);

mtLayer.on("ready", () => {     
  
  // Leverage the MapTiler SDK layer helpers to easily add polyline / point / polygon / heatmap layers
  mtLayer.addHeatmap({
    data: 'earthquakes.geojson',
  });

});

Replace YOUR_MAPTILER_API_KEY_HERE with your own API key. Make sure to secure the key before you publish it.

Learn more

Check out the Heatmap Layer Helper documentation and look at the Heatmap Helper examples to see the visualization possibilities.

Display thousands of lines in Leaflet

Display thousands of lines in Leaflet

Examples

Display thousands of lines efficiently in Leaflet using maptilersdk.

Display thousands of polygons in Leaflet

Display thousands of polygons in Leaflet

Examples

Display thousands of polygons efficiently in Leaflet using maptilersdk.

Plotting thousands or millions of points in Leaflet

Plotting millions of points in Leaflet

Examples

Display millions of points efficiently in Leaflet using maptilersdk.

Visualize points as cluster maps in Leaflet

Points as cluster

Examples

Visualize data points as cluster maps using Leaflet JS.

Was this helpful?