Как обработать openloers tileloaderror Не удалось загрузить ресурс 404? - PullRequest
0 голосов
/ 29 июня 2018

Я использую openlayers 4.6.5, и я пытаюсь поймать ошибку как

function onLoadDie(evt){
    console.log("this tile does not load :", evt);
}

var source_xyz = new ol.source.XYZ({
                url: f_url,
                minZoom: 15,
            });
source_xyz.addEventListener('tileloaderror', onLoadDie);

404 по-прежнему распространяется на консоль. Вот вывод консоли и ответ от Geoserver, который производит 404. Я также попытался исправить слой Geoserver, но безуспешно.

Не удалось загрузить ресурс: сервер ответил с состоянием 404 (не найдено) Покрытие [minx, miny, maxx, maxy] составляет [71508, 85624, 71511, 85627, 17], индекс [x, y, z] составляет [71512, 85626, 17]

1 Ответ

0 голосов
/ 02 июля 2018

Путем ручного добавления свойства экстента к слою ol.layer.tile при создании в openlayers 3.x 4.x Свойство экстента НЕ будет пытаться загрузить плитки за пределами этого экстента и поэтому подавит отклик 400 или 404 от Geoserver. , Мои данные в этом случае в EPSG: 3857, и поэтому моя степень тоже. Степень определяется как [minx, miny, maxx, maxy]

var tmp_lyr = new ol.layer.Tile({

        source: source_xyz,
        extent: [1826159,6142088, 1826967, 6142874],
        visible: is_visible,
        name: name,
        floor_num: floor,
        type: 'floor',
        zIndex: zIndex,
        crossOrigin: "anonymous"
    });
...