如何处理openlayers tileloaderror无法加载资源404?

时间:2018-06-29 11:46:40

标签: openlayers openlayers-3 geoserver

我正在使用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仍传播到控制台。这是控制台输出以及来自产生404的Geoserver的响应。我试图修复Geoserver层也没有运气。

无法加载资源:服务器响应状态为404(未找到) 覆盖率[minx,miny,maxx,maxy]为[71508,85624,71511,85627,17],索引[x,y,z]为[71512,85626,17]

1 个答案:

答案 0 :(得分:1)

在openlayers 3.x 4.x中创建时,通过手动将扩展区属性添加到ol.layer.tile层中,扩展区属性将不会尝试加载此扩展区之外的图块,因此会抑制来自Geoserver的400或404响应。在这种情况下,我的数据在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"
    });