lios
lios

Reputation: 148

WMS BBOX parameter not showing the box but whole world

I am trying to call a WMS service but the BBOX parameter doesn't seem to be working. The problem is that BBOX value isn't taken into account and still the whole world is shown. My code is as follows

map = new ol.Map({   target: 'map',   layers: [
    new ol.layer.Tile({
      source: new ol.source.OSM(),name:'Map'
    }),
    new ol.layer.Image({
      name:'Fires',
      source: new ol.source.ImageWMS({
        url: 'https://firms.modaps.eosdis.nasa.gov/wms',
        params: {'LAYERS': 'fires_viirs_24','MAP_KEY':'c25ad450306982d960f6dac44bc80059',
                 'COLORS':'127+9+9','SIZE':'10','SYMBOLS':'triangle',
                 'SRS':'EPSG:3857','WIDTH':'1024','BBOX':'18.808594,34.615127,29.047852,41.902277'}
      })
    })   ],   view: new ol.View({
    center: ol.proj.fromLonLat([23.8567, 38.5204]),
    zoom: 6   }) });

Here follows the codepen

Upvotes: 1

Views: 978

Answers (1)

Mike
Mike

Reputation: 17962

Some parameters are set dynamically and any values you set will be overridden. OpenLayers sets BBOX to match the viewport. See https://openlayers.org/en/v4.6.5/apidoc/ol.source.ImageWMS.html

WIDTH, HEIGHT, BBOX and CRS (SRS for WMS version < 1.3.0) will be set dynamically.

You can restrict the extent with the layer's extent option:

 new ol.layer.Image({
      name:'Fires',
      source: new ol.source.ImageWMS({
        url: 'https://firms.modaps.eosdis.nasa.gov/wms',
        params: {'LAYERS': 'fires_viirs_24','MAP_KEY':'c25ad450306982d960f6dac44bc80059',
                 'COLORS':'127+9+9','SIZE':'10','SYMBOLS':'triangle', VERSION: '1.1.0'
                 },
        projection:'EPSG:3857',
      }),
      extent: ol.proj.transformExtent([18.808594,34.615127,29.047852,41.902277],'EPSG:4326','EPSG:3857'),
    })

Upvotes: 3

Related Questions