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

WMS 请求参数生成

随地图移动实时生成 GetMap 地址,按版本决定 BBOX 的轴顺序与 CRS/SRS 参数,并同步输出视口像素尺寸。

OpenLayers 10.3.1 · 对应官方 wms-custom-proj.html · 更新 2026-10-27
源码与运行效果
运行效果

说明

WMS 的 GetMap 请求由四组参数决定:图层与样式、坐标参考系、范围 BBOX、输出像素尺寸。 示例用 view.calculateExtent(map.getSize()) 取当前视口范围, 再 ol.proj.transformExtent() 换成经纬度。

版本差异容易踩坑:1.1.1 的参考系参数名是 SRS,BBOX 顺序是 minLon,minLat,maxLon,maxLat;1.3.0 改叫 CRS, 并且强制按坐标系的轴顺序写成 minLat,minLon,maxLat,maxLon。

操作结果
拖动或缩放地图请求地址中的 BBOX 与分辨率实时更新
切换 WMS 版本参数名与 BBOX 轴序同时变化
修改图层名LAYERS 参数跟着改写

WIDTH 与 HEIGHT 要取地图画布的 CSS 像素,用 devicePixelRatio 放大后反而会触发服务端的高分屏参数。