经纬志
首页 / OpenLayers / API 文档

TileWMS

先看结论

瓦片化 WMS 数据源。把 GetMap 请求切成固定瓦片逐块加载,兼顾 WMS 服务端样式控制与瓦片缓存效率。

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

构造参数

参数说明
urlWMS 服务地址
params请求参数对象,LAYERS 必填,VERSION 默认 '1.3.0',STYLES 默认空串
projection瓦片投影,默认与视图一致
serverType服务端类型,可取 'mapserver'、'geoserver'、'carmentaserver'、'qgis'
tileGrid自定义瓦片网格
hidpi是否按设备像素比请求更高清瓦片,默认 true
crossOrigin跨域取值,导出图片时需设为 'anonymous'
transition瓦片淡入时长毫秒
wrapX是否横向循环,默认 true

常用方法

方法返回说明
updateParams(params)void合并请求参数并清缓存重新请求
setUrl(url)void替换服务地址
getFeatureInfoUrl(coord, resolution, projection, params)string生成 GetFeatureInfo 地址,参数不足时返回 undefined
refresh()void清空瓦片缓存并重新请求
getTileUrlFunction()function取当前瓦片地址生成函数
var wms = new ol.source.TileWMS({
  url: 'https://example.com/geoserver/wms',
  params: {
    LAYERS: 'demo:parcels',
    VERSION: '1.3.0',
    STYLES: '',
    TILED: true,
    FORMAT: 'image/png',
    TRANSPARENT: true
  },
  serverType: 'geoserver',
  crossOrigin: 'anonymous',
  transition: 0
});

map.addLayer(new ol.layer.Tile({ source: wms }));

// 切换渲染样式
wms.updateParams({ STYLES: 'highlight' });

注意事项

  • TILED 不设为 true 时服务端仍按整幅渲染,瓦片拼接处容易出现接缝与符号截断。
  • WMS 1.3.0 中 EPSG:4326 的轴序为纬度在前,服务端与客户端的轴序约定不一致会导致图层上下颠倒。
  • updateParams 会清空已有瓦片,频繁调用会造成闪白,批量改参数应一次传入。
  • 属性查询依赖服务端开启 GetFeatureInfo,返回 undefined 通常说明该图层未配置可查询字段。
引用本文

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