首页 / OpenLayers / 使用示例
WMS 请求参数生成
随地图移动实时生成 GetMap 地址,按版本决定 BBOX 的轴顺序与 CRS/SRS 参数,并同步输出视口像素尺寸。
源码与运行效果
说明
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 放大后反而会触发服务端的高分屏参数。