A tiny and fast Leaflet heatmap plugin.


1,359610.1.35 years ago5 years agoMinified + gzip package size for @elastic/leaflet-heat in KB



A tiny, simple and fast Leaflet heatmap plugin. Uses simpleheat under the hood, additionally clustering points into a grid for performance.


Basic Usage

var heat = L.heatLayer(latlngs, {radius: 25}).addTo(map);

To include the plugin, just use leaflet-heat.js from the dist folder:

<script src="leaflet-heat.js"></script>


To build the dist files run: npm install && npm run prepublish


L.heatLayer(latlngs, options)

Constructs a heatmap layer given an array of LatLng points and an object with the following options:

  • minOpacity - the minimum opacity the heat will start at
  • maxZoom - zoom level where the points reach maximum intensity (as intensity scales with zoom), equals maxZoom of the map by default
  • max - maximum point intensity, 1.0 by default
  • radius - radius of each "point" of the heatmap, 25 by default
  • blur - amount of blur, 15 by default
  • gradient - color gradient config, e.g. {0.4: 'blue', 0.65: 'lime', 1: 'red'}

Optional third argument in each LatLng point (altitude) represents point intensity.


  • setOptions(options): Sets new heatmap options and redraws it.
  • addLatLng(latlng): Adds a new point to the heatmap and redraws it.
  • setLatLngs(latlngs): Resets heatmap data and redraws it.
  • redraw(): Redraws the heatmap.


0.1.2 — Nov 5, 2014

  • Added compatibility with Leaflet 0.8-dev.

0.1.1 — Apr 22, 2014

  • Fixed overlaying two heatmaps on top of each other.
  • Fixed rare animation issues.

0.1.0 — Feb 3, 2014

  • Added addLatLng, setLatlngs, setOptions and redraw methods.
  • Added max option and support for different point intensity values (through LatLng third argument).
  • Added gradient option to customize colors.

0.0.1 — Jan 31, 2014

  • Initial release.

If you find any bugs or have a feature request, please open an issue on github!

The npm package download data comes from npm's download counts api and package details come from npms.io.