
Security News
npm Adopts OIDC for Trusted Publishing in CI/CD Workflows
npm now supports Trusted Publishing with OIDC, enabling secure package publishing directly from CI/CD workflows without relying on long-lived tokens.
@pauloak_/react-leaflet-heatmap-layer
Advanced tools
A custom layer for heatmaps in react-leaflet
react-leaflet-heatmap-layer
provides a simple <HeatmapLayer />
component for creating a heatmap layer in a react-leaflet
map.
This fork changes the behaviour to export a factory function, so that the types can be turned into a generic
Use directly as a fixed layer:
import React from 'react';
import { render } from 'react-dom';
import { Map, Marker, Popup, TileLayer } from 'react-leaflet';
import HeatmapLayerFactory from '../src/HeatmapLayer';
import { addressPoints } from './realworld.10000.js';
const HeatmapLayer = HeatmapLayerFactory<[number, number, number]>()
class MapExample extends React.Component {
render() {
return (
<div>
<Map center={[0,0]} zoom={13}>
<HeatmapLayer
fitBoundsOnLoad
fitBoundsOnUpdate
points={addressPoints}
longitudeExtractor={m => m[1]}
latitudeExtractor={m => m[0]}
intensityExtractor={m => parseFloat(m[2])} />
<TileLayer
url='http://{s}.tile.osm.org/{z}/{x}/{y}.png'
attribution='© <a href="http://osm.org/copyright">OpenStreetMap</a> contributors'
/>
</Map>
</div>
);
}
}
render(<MapExample />, document.getElementById('app'));
Or use it inside a layer control to toggle it:
import React from 'react';
import { render } from 'react-dom';
import { Map, Marker, Popup, TileLayer } from 'react-leaflet';
import HeatmapLayerFactory from '../src/HeatmapLayer';
import { addressPoints } from './realworld.10000.js';
const HeatmapLayer = HeatmapLayerFactory<[number, number, number]>()
class MapExample extends React.Component {
render() {
return (
<div>
<Map center={position} zoom={13} style={{ height: '100%' }} >
<LayersControl>
<LayersControl.BaseLayer name="Base" checked>
<TileLayer
url="http://{s}.tile.osm.org/{z}/{x}/{y}.png"
attribution="© <a href=http://osm.org/copyright>OpenStreetMap</a> contributors"
/>
</LayersControl.BaseLayer>
<LayersControl.Overlay name="Heatmap" checked>
<FeatureGroup color="purple">
<Marker position={[50.05, -0.09]} >
<Popup>
<span>A pretty CSS3 popup.<br /> Easily customizable. </span>
</Popup>
</Marker>
<HeatmapLayer
fitBoundsOnLoad
fitBoundsOnUpdate
points={addressPoints}
longitudeExtractor={m => m[1]}
latitudeExtractor={m => m[0]}
intensityExtractor={m => parseFloat(m[2])}
/>
</FeatureGroup>
</LayersControl.Overlay>
<LayersControl.Overlay name="Marker">
<FeatureGroup color="purple">
<Marker position={position} >
<Popup>
<span>A pretty CSS3 popup.<br /> Easily customizable. </span>
</Popup>
</Marker>
</FeatureGroup>
</LayersControl.Overlay>
</LayersControl>
</Map>
</div>
);
}
}
render(<MapExample />, document.getElementById('app'));
The HeatmapLayer
component takes the following props:
points
: required an array of objects to be processedlongitudeExtractor
: required a function that returns the object's longitude e.g. marker => marker.lng
latitudeExtractor
: required a function that returns the object's latitude e.g. marker => marker.lat
intensityExtractor
: required a function that returns the object's intensity e.g. marker => marker.val
fitBoundsOnLoad
: boolean indicating whether map should fit data in bounds of map on loadfitBoundsOnUpdate
: boolean indicating whether map should fit data in bounds of map on Updatemax
: max intensity value for heatmap (default: 3.0)radius
: radius for heatmap points (default: 30)maxZoom
: maximum zoom for heatmap (default: 18)opacity
: the opacity of the heatmap layer (default: 1)minOpacity
: minimum opacity for heatmap (default: 0.01)useLocalExtrema
: whether to always have a local minimum and maximum in the viewport (default: false)blur
: blur for heatmap points (default: 15)gradient
: object defining gradient stop points for heatmap e.g. { 0.4: 'blue', 0.8: 'orange', 1.0: 'red' }
(default: simpleheat
package default gradient)onStatsUpdate
: called on redraw with a { min, max } object containing:
See CONTRIBUTING.md
This package was inspired by Leaflet.heat.
react-leaflet-heatmap-layer
is MIT licensed.
See LICENSE.md for details.
FAQs
A custom layer for heatmaps in react-leaflet
The npm package @pauloak_/react-leaflet-heatmap-layer receives a total of 11 weekly downloads. As such, @pauloak_/react-leaflet-heatmap-layer popularity was classified as not popular.
We found that @pauloak_/react-leaflet-heatmap-layer demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 0 open source maintainers collaborating on the project.
Did you know?
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.
Security News
npm now supports Trusted Publishing with OIDC, enabling secure package publishing directly from CI/CD workflows without relying on long-lived tokens.
Research
/Security News
A RubyGems malware campaign used 60 malicious packages posing as automation tools to steal credentials from social media and marketing tool users.
Security News
The CNA Scorecard ranks CVE issuers by data completeness, revealing major gaps in patch info and software identifiers across thousands of vulnerabilities.