Skip to content
A tiny, simple and fast heatmap plugin for Leaflet.
JavaScript HTML
Branch: gh-pages
Clone or download

Latest commit

yohanboniface Merge pull request #69 from YuanxiangFranck/patch-1
redraw don't crash if this._map doesn't exist
Latest commit 5885ec0 Sep 30, 2016


Type Name Latest commit message Commit time
Failed to load latest commit information.
demo update Leaflet to 0.7.7 Oct 26, 2015
dist fix points over date line, close #27 Oct 26, 2015
src redraw don't crash if this._map doesn't exist Aug 5, 2016
LICENSE add license Jan 31, 2014 update Leaflet to 0.7.7 Oct 26, 2015
package.json switch to eslint, update deps Oct 26, 2015


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([
	[50.5, 30.5, 0.2], // lat, lng, intensity
	[50.6, 30.4, 0.5],
], {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 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'}

Each point in the input array can be either an array like [50.5, 30.5, 0.5], or a Leaflet LatLng object.

Optional third argument in each LatLng point (altitude) represents point intensity. Unless max option is specified, intensity should range between 0.0 and 1.0.


  • 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.2.0 — Oct 26, 2015

  • Fixed intensity to work properly with max option.
  • Fixed zoom animation on Leaflet 1.0 beta 2.
  • Fixed tiles and point intensity in demos.

0.1.3 — Nov 25, 2015

  • Fixed some edge cases when handling point intensity.
  • Added minOpacity option.

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.
You can’t perform that action at this time.