Flow WMS не отображается на моей карте openlayers - PullRequest
0 голосов
/ 02 апреля 2019

Я хочу отобразить поток WMS на моей карте openLayers, но ничего не отображается.Вот как я объявляю свой 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 голосов
/ 02 апреля 2019

Если это был правильный сервер, были некоторые проблемы с вашим кодом.

URL-адрес длиннее необходимого, гео-хвост не является типом сервера, распознаваемым 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'
});
...