#mapping #openlayers #openlayers-3 #wms
#сопоставление #openlayers #openlayers-3 #wms
Вопрос:
Я пытаюсь вызвать службу WMS, но параметр BBOX, похоже, не работает. Проблема в том, что значение BBOX не учитывается, и все равно отображается весь мир. Мой код выглядит следующим образом
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 }) });
Далее следует codepen
Ответ №1:
Некоторые параметры устанавливаются динамически, и любые заданные вами значения будут переопределены. OpenLayers устанавливает BBOX в соответствие с окном просмотра. Смотрите https://openlayers.org/en/v4.6.5/apidoc/ol.source.ImageWMS.html
ШИРИНА, ВЫСОТА, BBOX и CRS (SRS для версии WMS < 1.3.0) будут задаваться динамически.
Вы можете ограничить экстент с помощью параметра extent слоя:
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'),
})
Комментарии:
1. Просто и быстро. Большое вам спасибо!