leafletjs 热力图_leafletjs+heatmapjs绘制热力地图

前面两篇其实都是为了写一下leaflet-heatmap.js

最后搜了一下github https://github.com/Leaflet/Leaflet.heat

加载了leaflet.js和heatmap.js,就可以用leaflet-heatmap.js来绘制热力地图了。

首先,这是要展示的数据,有max代表所有数据的最大值,lat和Ing代表经纬度的值,count是要展示的数据,后面配置会有讲到,所以max应该是count中的最大值。

// don't forget to include leaflet-heatmap.js

var testData = {

max: 8,

data: [{lat: 24.6408, lng:46.7728, count: 3},{lat: 50.75, lng:-1.55, count: 1}, ...]

};

很熟悉,就是我们讲leaflet的基础层的初始化。

var baseLayer = L.tileLayer(

'http://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png',{

attribution: '...',

maxZoom: 18

}

);

cfg中所有heatmapjs的参数都可以用。另外加了额外的参数,都有说明

var cfg = {

// radius should be small ONLY if scaleRadius is true (or small radius is intended)

// if scaleRadius is false it will be the constant radius used in pixels

"radius": 2,

"maxOpacity": .8,

// scales the radius based on map zoom

"scaleRadius": true,

// if set to false the heatmap uses the global maximum for colorization

// if activated: uses the data maximum within the current map boundaries

// (there will always be a red spot with useLocalExtremas true)

"useLocalExtrema": true,

// which field name in your data represents the latitude - default "lat"

latField: 'lat',

// which field name in your data represents the longitude - default "lng"

lngField: 'lng',

// which field name in your data represents the data value - default "value"

valueField: 'count'

};

初始化 heatmapLayer ,也就是将热力图看作一层,还记得说地图的时候,是说它们是一层一层堆积的么?

var heatmapLayer = new HeatmapOverlay(cfg);

var map = new L.Map('map-canvas', {

center: new L.LatLng(25.6586, -80.3568),

zoom: 4,

layers: [baseLayer, heatmapLayer]

});

heatmapLayer.setData(testData);

setDate每次改变值,热力图也是会更新的。

原生态的配色被吐槽太丑,现在的大家觉得有好一点么?

1a160f9aefb2

作者给的图

1a160f9aefb2

咱的配色

看了一下代码,也就200来行,主要是重写了setData,addData的方法,另外跟地图衔接的有addTo和onRemove ,使之适应热力图。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值