# new CesiumHeatmap()
热力图
请参考以下示例:
1、热力图示例
// 参考示例:
http://webclient.smaryun.com/#/modules/cesium/visualization/themeLayer/heat-map
// ES5引入方式
const { CesiumHeatmap } = zondy.cesium
// ES6引入方式
import { CesiumHeatmap } from "@mapgis/webclient-cesium-plugin"
// 1 构造热力图初始化参数
const options = {
// 热力半径
radius: 36,
// 图层透明度
alpha: 0.85,
// 模糊因子
blur: 0.75,
// 热力图颜色梯度
gradient: {
0.3: 'rgb(0,0,255)',
0.65: 'rgb(255,255,0)',
0.8: 'rgb(255,128,0)',
0.95: 'rgb(255,0,0)'
},
// 是否自动重算热力半径
canChange: false
}
// 2 创建热力图
const heatMap = zondy.cesium.CesiumHeatmap.create(
// Cesium场景视图对象
viewer,
// 热力图范围
bounds,
// 热力图额外初始化参数
options
)
// 3 构建热力图数据,在矩形框内创建随机点,200个
const bounds = {
east: 114.40295687456313,
north: 30.467989447011963,
south: 30.465570241010646,
west: 114.40024175306026
}
const array = zondy.cesium.AlgorithmLib.getRandomPointByRect(
bounds.west,
bounds.south,
bounds.east,
bounds.north,
200
)
const heatMapData = []
for (let i = 0; i < array.length; i++) {
heatMapData.push({
x: array[i].x,
y: array[i].y,
// 获取30到150之间的随机值
value: parseInt(Math.random() * (150 - 30 + 1) + 30, 10)
})
}
// 4 添加数据集,并设置数据范围
heatMap.setWGS84Data(30, 150, heatMapData)
方法
# static create(vieweropt, boundingboxopt, optionsopt)
创建并返回一个热力图对象
参数:
名称 | 类型 | 默认值 | 描述 |
---|---|---|---|
viewer |
Cesium.Viewer | null | 场景视图对象,详见Cesium.Viewer |
boundingbox |
Cesium.Rectangle | null | 热力图范围,详见Cesium.Rectangle |
options |
Object | {} | 可选参数 |
minCanvasSize |
Number | 700 | 热力图画布最小尺寸 |
maxCanvasSize |
Number | 2000 | 热力图画布最大尺寸 |
radiusFactor |
Number | 60 | 如果没有给出半径,则使用数据点大小因子(高度和宽度中的较大者除以这个数字产生使用的半径) |
spacingFactor |
Number | 1.5 | 边界周围的额外空间(点半径乘以这个数字产生间距) |
maxOpacity |
Number | 0.8 | 如果未在热力图选项对象中给出,则使用的最大不透明度 |
minOpacity |
Number | 0.1 | 如果未在热图选项对象中给出,则使用的最小不透明度 |
blur |
Number | 0.85 | 如果未在热力图选项对象中给出,则使用的模糊值为0.85。模糊值越高,渐变越平滑。 |
gradient |
Object | {'0.3':'rgb(0,0,255)','0.65':'yellow','0.8':'orange','0.95':'red'} | 热力图颜色梯度 |
canChange |
Boolean | true | 默认自动重算热力半径 |
热力图对象
Object
# static mercatorToWgs84()
Convert a mercator location into a WGS84 location
p: the mercator lcation like {x, y}