原文链接及内容

WMS可以用作图像图层,就像上面这个例子所示;也可用作切片图层,如Tiled WMS示例所示。切片可以缓存,因此浏览器不会重新获取已经查看过的区域的数据。但对于不知道切片的WMS服务器来说,可能存在重复标签的问题(这句话没翻译明白,但感觉可以参考自定义Canvas切片这里例子来理解一下这句话),在这种情况下,单一图像WMS将产生更好的制图效果。
main.js
代码如下:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28
| import ImageWMS from 'ol/source/ImageWMS.js'; import Map from 'ol/Map.js'; import OSM from 'ol/source/OSM.js'; import View from 'ol/View.js'; import {Image as ImageLayer, Tile as TileLayer} from 'ol/layer.js';
const layers = [ new TileLayer({ source: new OSM(), }), new ImageLayer({ extent: [-13884991, 2870341, -7455066, 6338219], source: new ImageWMS({ url: 'https://ahocevar.com/geoserver/wms', params: {'LAYERS': 'topp:states'}, ratio: 1, serverType: 'geoserver', }), }), ]; const map = new Map({ layers: layers, target: 'map', view: new View({ center: [-10997148, 4569099], zoom: 4, }), });
|
界面布局文件index.html
代码如下:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
| <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Single Image WMS</title> <link rel="stylesheet" href="node_modules/ol/ol.css"> <style> .map { width: 100%; height: 400px; } </style> </head> <body> <div id="map" class="map"></div> <script src="https://cdn.jsdelivr.net/npm/elm-pep@1.0.6/dist/elm-pep.js"></script> <script type="module" src="main.js"></script> </body> </html>
|