leafletjs绘制热力图
时间: 2023-09-13 20:07:00 浏览: 101
leaflet热力图
要使用 Leaflet.js 绘制热力图,你需要使用一个叫做 Leaflet.heat 的插件。以下是一个简单的示例代码:
首先,你需要引入相应的库和样式表:
```html
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/leaflet@1.7.1/dist/leaflet.css" />
<script src="https://cdn.jsdelivr.net/npm/leaflet@1.7.1/dist/leaflet.js"></script>
<script src="https://unpkg.com/leaflet.heat/dist/leaflet-heat.js"></script>
```
然后,你可以创建一个 Leaflet 地图,并将其添加到页面中:
```javascript
var map = L.map('map').setView([51.505, -0.09], 13);
L.tileLayer('https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png', {
attribution: 'Map data © <a href="https://www.openstreetmap.org/">OpenStreetMap</a> contributors, ' +
'<a href="https://creativecommons.org/licenses/by-sa/2.0/">CC-BY-SA</a>, ' +
'Imagery © <a href="https://www.mapbox.com/">Mapbox</a>',
maxZoom: 18,
}).addTo(map);
```
接下来,你可以创建一个包含热力图数据的数组:
```javascript
var heatData = [
[51.5, -0.09, 0.5],
[51.5, -0.08, 0.5],
[51.5, -0.07, 0.5],
// ...
];
```
数组中的每个元素都是一个包含三个值的数组:纬度、经度和强度。强度的值范围通常是 0 到 1,表示在该位置的强度。
最后,你可以使用 Leaflet.heat 插件将热力图添加到地图上:
```javascript
L.heatLayer(heatData, {radius: 25}).addTo(map);
```
这将在地图上绘制一个热力图,其中点的半径为 25 像素。
以上是一个简单的示例,你可以根据需要调整参数和数据来创建自己的热力图。
阅读全文