openlayers热力图

102 阅读1分钟

通过ol/layer/Heatmap实现

一、创建热力图层--以geojson数据为例,主要是需要点的经纬度信息

// 开始做热力图相关功能 
let heatmapVector = new VectorSource({     
    url: "/heatmap.geojson",     
    format: new GeoJSON() 
}); 
//定义热力图图层 
let heatmapLayer = new Heatmap({     
    source: heatmapVector,     
    blur: 10, //模糊大小(像素为单位)     
    radius: 10, //半径大小(像素为单位)     
    gradient:['#00f','#0ff','#0f0','#ff0','#f00'],//热图的颜色渐变 
});

二、热力图层关于map的方法

//添加热力图层 
map.addLayer(heatmapLayer) 
//删除热力图层 
map.removeLayer(heatmapLayer)

三、热力图自身方法

//获取-设置,模糊大小 
heatmapLayer.getBlur() 
heatmapLayer.setBlur(15) 
//获取-设置,渲染范围 
heatmapLayer.getExtent() 
heatmapLayer.setExtent([100,30,104,40]) 
//获取-设置,热力图渐变色 
heatmapLayer.getGradient() heatmapLayer.setGradient(['#00f','#0ff','#0f0','#ff0','#f00']) 
//获取-设置,最大级别 
heatmapLayer.getMaxZoom() 
heatmapLayer.setMaxZoom(18) 
//获取-设置,最小级别 
heatmapLayer.getMinZoom() 
heatmapLayer.setMinZoom(2) 
//获取-设置,透明度 
heatmapLayer.getOpacity() 
heatmapLayer.setOpacity(0.5) 
//获取-设置,半径 
heatmapLayer.getRadius() 
heatmapLayer.setRadius(5) 
//获取-设置,热力源 
heatmapLayer.getSource() 
heatmapLayer.setSource(source) 
//获取-设置,是否可见 
heatmapLayer.getVisible() 
heatmapLayer.setVisible(true) 
//获取-设置,图层的Z-index 
heatmapLayer.getZIndex() 
heatmapLayer.setZIndex(2) 
//绑定事件-取消事件 type事件类型,listener函数体 
heatmapLayer.on(type,listener) 
heatmapLayer.un(type,listener)

四、实现效果

image.png

项目地址:github.com/DLFouge/vue…

欢迎指正与star