经纬志
首页 / OpenLayers / API 文档

TileLayer

先看结论

瓦片图层。把切成网格的图片按当前级别铺满视野,是底图和栅格服务的主力图层类型。

最后验证 2026-11-03 · OpenLayers 10.3.1 · 更新 2026-10-27 · 引用本文
new ol.layer.Tile(options)

构造参数

参数说明
source瓦片数据源,如 ol.source.OSM、ol.source.XYZ、ol.source.TileWMS
opacity图层透明度,0 到 1
visible是否可见,默认 true
zIndex叠放顺序,数值大的在上层
extent只在该范围内渲染
preload预加载级别数,0 只取当前级,1 多加一级
transition新瓦片淡入时长,毫秒,默认 250
minZoom / maxZoom图层可见的缩放级别区间
minResolution / maxResolution图层可见的分辨率区间,与上面二者等价

常用方法

方法说明
getSource() / setSource(s)读写数据源,切换底图常用 setSource
setOpacity(o) / getOpacity()调节透明度
setVisible(v) / getVisible()显示与隐藏
setZIndex(i)调整叠放顺序
setPreload(n)运行中改变预加载级别
setExtent(extent)限制渲染范围
setMap(map)手动挂载或解绑地图
var baseLayer = new ol.layer.Tile({
  source: new ol.source.OSM(),
  preload: 1,
  transition: 200,
  zIndex: 0
});

/* 用同一个图层实例换源,避免反复增删图层 */
baseLayer.setSource(new ol.source.XYZ({
  url: 'https://a.tile.openstreetmap.fr/hot/{z}/{x}/{y}.png'
}));

preload 与 transition 的取舍

设置请求量体验
preload: 0最少,只取当前级别缩放时可能有短暂空白
preload: 1约为 1.3 倍缩放过渡更顺滑
transition: 0不变瓦片直接替换,无淡入
transition: 250不变默认的柔和新旧交替

瓦片图层只负责“怎么显示”,请求地址与参数都在数据源里。 同一个图层换源即可切换底图,这是图层切换面板最省内存的写法。

设置 extent 时注意投影:范围必须是视图投影下的坐标。 用经纬度直接写会让图层只在赤道附近的一个小矩形里渲染。 正确写法是 ol.proj.transformExtent(extent4326, 'EPSG:4326', 'EPSG:3857')。

引用本文

经纬志(2026)。《TileLayer》。https://www.jingweizhi.com/openlayers/api/tile-layer.html(访问日期 2026-11-03)。