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

WMS 图层

把 GeoServer 一类的 WMS 服务按 GetMap 请求叠在底图上,并演示参数切换与失败降级。

Leaflet 1.9.4 · 更新 2026-10-28
源码与运行效果
运行效果

说明

WMS 服务没有瓦片金字塔,每次拖动或缩放都会按当前范围和像素尺寸重新发一次 GetMap 请求。示例用公开的 terrestris OSM-WMS 演示,图层名 OSM-WMS 在服务端区分大小写,写错会返回一屏服务商的报错文字。

按钮调用 setParams 修改 version 与 format,图层会立即重绘而不重建。真实 WMS 不可达时, 代码在累计三次 tileerror 后移除 WMS 图层, 换成本地 canvas 生成的模拟瓦片,保证页面仍然可交互。

参数本例取值改成别的值会怎样
layersOSM-WMS必须是服务端存在的图层名,否则返回 400 或空白图
formatimage/png换成 jpeg 会丢掉透明背景,叠在下层会盖住底图
transparenttrue仅 PNG 有效;服务端未开透明通道时同样是不透明白底
version1.3.0退回 1.1.1 后改用 SRS 参数,避开 1.3.0 的轴顺序问题
opacity0.55只影响客户端合成,不改变服务端返回的图像

WMS 每次请求都由服务端现渲染,缩放快的时候请求会排队。只做浏览时用 WMTS 或预切瓦片,WMS 留给需要按时间、参数动态出图的场景。