我的项目中有一个 openlayers 地图,我想在其中添加 WMS 切片。这是我的代码:
const map = new ol.Map({
layers: [
new ol.layer.Tile({
name: 'wmstiles',
source: new ol.source.TileWMS({
url: 'https://ssl-geowms.lillemetropole.fr/dynmapr/dynmapr.php',
serverType: 'geoserver',
version:"1.1.1",
params: {
LAYERS: 'PLU%2Fplu',
VERSION: '1.1.1',
TRANSPARENT: false,
HEIGHT: 256,
WIDTH: 256
},
pixelRatio: 1,
projection: 'EPSG:2154'
}),
visible: false
})
],
view: new ol.View({
center: ol.proj.fromLonLat([3.1666, 50.6167]),
zoom: 13,
maxZoom: 20,
})
});
如您所见,我正在尝试将坐标投影到EPSG:2154
(法国),以便将它们发送到 WMS 服务器。但是我的地图是空白的,因为 openlayers 没有生成具有良好投影的调用。
而不是这样的东西(从另一个不使用openlayers的网站生成):https ://ssl-geowms.lillemetropole.fr/dynmapr/dynmapr.php?in=PLU/plu&service=WMS&request=GetMap&version=1.1.1&layers=PLU %2Fplu&styles=&format=image%2Fjpeg&transparent=false&height=256&width=256&srs=EPSG%3A2154&bbox=704615.2885901299,7064111.541254971,705393.894388002,7064886.656737898
如您所见,它没有重新投影EPSG:2154
到EPSG:3857
. 还有其他问题,例如高度和宽度,但这是另一回事。如果我将边界框从工作链接复制/粘贴到第一个,它就可以工作。