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

Canvas 瓦片

用 TileImage 的 tileUrlFunction 现场生成 256 × 256 的 canvas,把瓦片级别与行列号直接画在图上。

OpenLayers 10.3.1 · 对应官方 canvas-tiles.html · 更新 2026-10-27
源码与运行效果
运行效果

说明

ol.source.TileImage 允许完全接管瓦片地址:tileUrlFunction 收到 [z, x, y],返回一张图片的地址即可。示例在这里现场建一个 canvas,把行列号写在瓦片上,再 toDataURL() 返回。

瓦片网格沿用 EPSG:3857 的标准分辨率序列,因此画面与 OSM 底图严格对齐;把透明度调低, 两层叠在一起就能看出每个 canvas 瓦片的位置与编号。

操作结果
缩放地图每次都按新的 z/x/y 重新生成瓦片,状态栏累计生成数量
取消勾选「叠加 OSM 底图」只看 canvas 瓦片,边界更清楚

tileUrlFunction 每请求一张瓦片就调用一次,生成逻辑要轻;示例只画文字与边框,代价很小。