OpenLayers: запрос пикселей в источнике TileImage без отображения слоя на карте - PullRequest
0 голосов
/ 22 января 2019

В OpenLayers 4.6.5 я пытаюсь прочитать значения пикселей из источника TileImage без фактического рендеринга источника в виде слоя на карте.Я пытался адаптировать некоторый код из этого вопроса следующим образом - обратите внимание, что на этом этапе я только до точки проверки, существует ли плитка, и не зашел так далеко, чтобына самом деле запросить плитку еще:

window['tiles'] = {};

window["L8SourceNRG"] = new ol.source.TileImage({
    url: NRGtileURL,
    crossOrigin: 'anonymous',
    transition: 0,
    preload: Infinity,
    tileGrid: L8SourceTileGrid
});

window["L8SourceNRG"].on("tileloadend", (e) => {
    console.log('tileloadend event fired');
    let coord = e.tile.getTileCoord();
    window['tiles'][coord.join('-')] = e.tile.getImage();
});

map.on('pointermove', (evt) => {
    if (evt.dragging) {
        return;
    }

    let coordinate = ol.proj.transform(evt.coordinate, map.getView().getProjection(), ol.proj.get('EPSG:3857'));

    let tileCoord = L8SourceTileGrid.getTileCoordForCoordAndResolution(coordinate, this.map.getView().getResolution());
    let key = tileCoord.join('-');
    if (key in window['tiles']) {
        console.log('key in tiles');
    }
});

С помощью приведенного выше кода сообщение журнала консоли «ключ в плитках» никогда не появляется.Я смогу показать это, только если я уже загрузил свой источник "L8SourceNRG" в слой и отобразил его на карте.Но я не хочу показывать это на карте - я просто хочу использовать значения пикселей для выполнения некоторых вычислений, которые будут использоваться для создания нового многоугольного слоя.

Как вы можете видеть, ятакже пытался использовать параметр «preload» при определении этого источника, но, похоже, это не имеет значения - хотя есть большая вероятность, что я делаю это неправильно.

Может ли мой код бытьизменено, чтобы сделать эту работу - или есть лучший способ чтения значений пикселей из источника TileImage без рендеринга источника как слоя на карте?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...