经纬志
首页 / Leaflet / 使用示例

图像叠加

把一张栅格图片按经纬度范围铺在地图上,并支持调透明度、切帧与显隐。

Leaflet 1.9.4 · 更新 2026-10-28
源码与运行效果
运行效果

说明

叠加图用 canvas 现场生成,画布 480×320 对应经度 0.24°、纬度 0.12°。 在 39.9°N 附近,1° 经度的地面长度约为 1° 纬度的 0.77 倍, 两组跨度按这个比例取,图片铺上去后斑点才不会被拉成椭圆。

换帧时调用 setUrl 而不是移除再新建图层,图片节点保持不变, 不会出现白底闪动。透明度和显隐分别走 setOpacity 与 map.removeLayer,后者保留了图层的配置,重新添加即可恢复。

要点本例做法换成真实数据时
定位方式bounds 四角对齐GeoTIFF 先由服务端裁切成等经纬度 PNG,或转成瓦片
比例画布比例与经纬跨度匹配用 224/256 之类像素换算,按所在纬度校正
跨域data URL,无跨域问题远程图片需服务端返回 CORS 头,否则导出画布会被污染
层级zIndex: 2与矢量叠加时放在 overlayPane,靠 pane 层级控制
交互interactive: false需要点图取像素时设 true,并用 getElement() 读坐标

图片过大时浏览器会先解码再缩放,低端设备上首帧可能延迟 1–2 秒。 栅格图控制在 2048×2048 以内,更大的范围交给瓦片或 WebGL 图层处理。