Flow WMS未显示在我的地图开放图层中

时间:2019-04-02 14:12:40

标签: javascript openlayers wms

我想在我的地图openLayers中显示流WMS,但什么也不显示。在这里,我如何声明我的WMS:

var IGN = new ImageLayer({ source: new ImageWMS({ url: 'https://inspire.cadastre.gouv.fr/scpc/76758.wms?service=WMS&request=GetMap', params: {'LAYERS': 'AMORCES_CAD', 'FORMAT': 'image/png'}, ratio: 1, serverType: 'geoportail' }), visible : false, name : 'IGN' });

然后当我在图层中声明地图时:

layers: [baseLayer,Terrain,foncier2,satellite,IGN]

我的URL WMS错误?还是我的说法是错误的?

提前谢谢

PS:我与OpenLayers 5合作

编辑:我解决了我的问题,那是错误的服务器。

1 个答案:

答案 0 :(得分:0)

这是正确的服务器,但您的代码有问题。

URL超出了必要的长度,geoportail不是OpenLayers识别的服务器类型,visible : false将停止显示图层。

var IGN = new ImageLayer({
  source: new ImageWMS({
//    url: 'https://inspire.cadastre.gouv.fr/scpc/76758.wms?service=WMS&request=GetMap',
    url: 'https://inspire.cadastre.gouv.fr/scpc/76758.wms',
    params: {'LAYERS': 'AMORCES_CAD',
    'FORMAT': 'image/png'},
    ratio: 1,
//    serverType: 'geoportail'
  }),
//  visible : false,
  name : 'IGN'
});

但是即使进行了这些更改,我仍然从服务器收到错误消息

Mauvaise Requête Taille de l'image invalide.

使用很小的地图就可以使用,但是平铺图层可以在任何尺寸的地图上使用:

var IGN = new TileLayer({
  source: new TileWMS({
    url: 'https://inspire.cadastre.gouv.fr/scpc/76758.wms',
    params: {'LAYERS': 'AMORCES_CAD',
    'FORMAT': 'image/png'},
  }),
  name : 'IGN'
});