A tiny, simple and fast Leaflet heatmap plugin. Uses simpleheat under the hood, additionally clustering points into a grid for performance.
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
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.
- Added compatibility with Leaflet 0.8-dev.
- Fixed overlaying two heatmaps on top of each other.
- Fixed rare animation issues.
- Added
addLatLng
,setLatlngs
,setOptions
andredraw
methods. - Added
max
option and support for different point intensity values (throughLatLng
third argument). - Added
gradient
option to customize colors.
- Initial release.