首页 / OpenLayers / 使用示例
热力图
上千个点直接画成圆点会糊成一片,热力图按点密度着色,一眼看出聚集区域。 示例生成 1200 个带权重的采样点,两个滑块控制着色范围。
源码与运行效果
说明
ol.layer.Heatmap 本身就是一个矢量图层,接
ol.source.Vector。它把每个点按半径画成灰度圆,
叠加后用高斯模糊柔化,再按密度映射到渐变颜色。
三个参数决定观感:
| 参数 | 作用 | 调大的效果 |
|---|---|---|
radius | 单个点的像素半径 | 色斑更粗,细节更少 |
blur | 模糊像素尺寸 | 过渡更平滑,边界更糊 |
weight | 每点贡献的权重 | 可用属性值让重点点位更突出 |
权重用函数写法,读取要素上的 weight 属性,
值域控制在 0 到 1 之间。超过 1 的权重会让整片区域直接饱和成最高色。
gradient 接受颜色数组,从低密度到高密度依次映射,长度不限。
不给时用默认的蓝到红渐变。深色底图上把低密度色改成透明感更强的深蓝,
视觉效果会比标准配色干净。