Как использовать функцию getUrl для openlayers в новом ImageWMS? - PullRequest
0 голосов
/ 08 июля 2019

Я использую OpenLayers в моем проекте activjs. Согласно документации

Я попробовал следующий код

var sourceData = new ImageWMS(
      {
         params: {'LAYERS': 'top:states'},
         ratio: 1,
         serverType: 'geoserver',
         getURL: function () {
          console.log('bounds');
          }
      });



this.olmap = new Map({
      target: null,
      layers: [new ImageLayer({
          extent: [-13884991, 2870341, -7455066, 6338219],
          source: sourceData
        })],
      view: new View({
        center: this.state.center,
        zoom: this.state.zoom
      })
    });

Я пробую приведенный выше код, но он не показывает консольный журнал. Могу ли я узнать, как заставить его работать, чтобы получить журнал консоли?

1 Ответ

1 голос
/ 08 июля 2019

Он просто возвращает URL-адрес, использованный для создания источника, например,

var sourceData = new ImageWMS(
      {
         url: 'https://ahocevar.com/geoserver/wms',
         params: {'LAYERS': 'top:states'},
         ratio: 1,
         serverType: 'geoserver'
      });

console.log(sourceData.getURL());  // 'https://ahocevar.com/geoserver/wms'

Чтобы зарегистрировать полный URL-адрес или его параметры строки запроса, вам необходимо настроить функцию imageLoadFunction

var sourceData = new ImageWMS(
      {
         url: 'https://ahocevar.com/geoserver/wms',
         params: {'LAYERS': 'top:states'},
         ratio: 1,
         serverType: 'geoserver',
         imageLoadFunction: function(image, src) {
           var params = new URLSearchParams(src.slice(src.indexOf('?')));
           console.log('bounds', params.get('BBOX'));
           image.getImage().src = src;
         }
      });
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...