首页 / Leaflet / 使用示例
WMS 图层
把 GeoServer 一类的 WMS 服务按 GetMap 请求叠在底图上,并演示参数切换与失败降级。
源码与运行效果
说明
WMS 服务没有瓦片金字塔,每次拖动或缩放都会按当前范围和像素尺寸重新发一次
GetMap 请求。示例用公开的 terrestris OSM-WMS 演示,图层名 OSM-WMS
在服务端区分大小写,写错会返回一屏服务商的报错文字。
按钮调用 setParams 修改 version 与
format,图层会立即重绘而不重建。真实 WMS 不可达时,
代码在累计三次 tileerror 后移除 WMS 图层,
换成本地 canvas 生成的模拟瓦片,保证页面仍然可交互。
| 参数 | 本例取值 | 改成别的值会怎样 |
|---|---|---|
layers | OSM-WMS | 必须是服务端存在的图层名,否则返回 400 或空白图 |
format | image/png | 换成 jpeg 会丢掉透明背景,叠在下层会盖住底图 |
transparent | true | 仅 PNG 有效;服务端未开透明通道时同样是不透明白底 |
version | 1.3.0 | 退回 1.1.1 后改用 SRS 参数,避开 1.3.0 的轴顺序问题 |
opacity | 0.55 | 只影响客户端合成,不改变服务端返回的图像 |
WMS 每次请求都由服务端现渲染,缩放快的时候请求会排队。只做浏览时用 WMTS 或预切瓦片,WMS 留给需要按时间、参数动态出图的场景。