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

TMS 瓦片编号

同一个瓦片网格分别以上下两种原点建立,切换后可以看到 y 的行号方向相反,编号直接画在瓦片上。

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

说明

XYZ 与 TMS 的差别就在 y 轴的起点:XYZ 的 origin 是世界范围左上角, y 自上而下递增;TMS 的 origin 在左下角,y 自下而上递增。 示例用 ol.extent.getBottomLeft() 与 getTopLeft() 分别建网格。

只有网格原点不同时,瓦片内容也会跟着上下翻转,所以画布上同时写出当前 y 与翻转后的行号, 勾选后能直接看出行号方向反了过来。

操作结果
勾选「使用 TMS 编号」瓦片按左下原点重新编号,行号方向相反
取消勾选回到 XYZ 编号
缩放或平移瓦片内容随编号实时重画

对接 WMS-C 或老式 TMS 服务时,除了网格原点,瓦片地址里的 y 也要用 2^z − 1 − y 翻转。