首页 / deck.gl / API 文档
WMSLayer
先看结论
WMS 图层。按当前视图范围拼接 GetMap 请求,把服务端返回的图片贴到地图上, 适合对接已有的 GIS 服务。
new deck.WMSLayer(props)
核心参数
| 参数 | 默认 | 说明 |
|---|---|---|
data | 必填 | WMS 服务的 GetMap 地址,不带查询串 |
layers | 必填 | 图层名,多个用逗号分隔 |
srs | 'EPSG:4326' | 请求使用的坐标系 |
version | '1.3.0' | WMS 版本,影响参数名与坐标轴顺序 |
styles | '' | 样式名,留空使用服务端默认样式 |
transparent | true | 是否请求背景透明的图片 |
serviceType | 'wms' | 'wms' 或 'wms-c',后者按瓦片请求 |
opacity | 1 | 整体透明度 |
pickable | false | 是否参与拾取 |
示例
var wms = new deck.WMSLayer({
id: 'landuse',
data: 'https://gis.example.com/geoserver/wms',
layers: 'planning:landuse_2025',
srs: 'EPSG:3857',
version: '1.3.0',
styles: '',
transparent: true,
opacity: 0.7
});
1.3.0 的坐标轴顺序
WMS 1.3.0 对 EPSG:4326 使用纬度在前、经度在后的
BBOX 顺序,1.1.1 则是经度在前。传错版本会出现
「图片被拉伸到错误位置」而不是报错。服务端只支持 1.1.1 时,
把 version 改为 '1.1.1',否则整幅图会跑到高纬度区域。
与 TileLayer 的取舍
WMSLayer 每次视图变化都重新请求整幅图片,范围越大服务端渲染越慢;
服务支持 WMTS 或 XYZ 时,改用 TileLayer 按瓦片请求,
缓存命中率更高。WMS 的优势是服务端已经在做符号化,
客户端不用重复实现样式规则。
v9 的不可变更新
deck.gl 9 的图层不可变,切换图层名或坐标系必须新建实例。
clone 后通过 deckgl.setProps 替换 layers:
var next = wms.clone({
layers: 'planning:landuse_2021',
opacity: 0.5
});
deckgl.setProps({ layers: [next] });
请求参数受服务端白名单限制。部分 WMS 服务只允许特定
BBOX 尺寸或坐标系,超出范围直接返回异常图片(XML 错误页),
表现为地图上一块空白。打开网络面板检查 GetMap 响应内容即可定位。
经纬志(2026)。《WMSLayer》。https://www.jingweizhi.com/deckgl/api/wms-layer.html(访问日期 2026-11-03)。