gpt4 book ai didi

javascript - Openlayers 3 替换失败的图 block

转载 作者:行者123 更新时间:2023-12-03 06:45:41 26 4
gpt4 key购买 nike

我们正在运行 Open Layers 3.15。有时我们会遇到掉落或失败的瓷砖。目前它什么也不显示(这可能会让我们的用户感到困惑),因此我们想用一个显示“无数据”或其他内容的图 block 来替换它。我尝试过获取事件并替换图 block 的源,例如

            source.on('tileloaderror', function(){
source.setUrl('./images/map/failureTile.png');
});

但这样做的问题是,它不是在 1 个图 block 上执行此操作,而是对整个图层执行此操作,我们不希望这样。

有人知道我们如何只针对失败的图 block 而不是整个层执行此操作吗?

最佳答案

现在是 2018 年了,但对于可能需要这个的人来说。在 v5.3.0 上测试

source.on('tileloaderror', function (event) {
var tileLoadFunction = function (imageTile, src) {
imageTile.getImage().src = './images/map/failureTile.png';
};
if (event.tile.tileLoadFunction_ != tileLoadFunction) {
event.tile.tileLoadFunction_ = tileLoadFunction;
event.tile.load();
}
});

此代码依赖于暴露的私有(private)函数event.tile.tileLoadFunction_

不幸的是,xnakos 的答案在 v5.3.0 上不起作用,因为 event.tile.getImage() 已被内部错误处理程序替换为 1x1 Canvas 图像。

另请注意,直接更改 event.tile.src_ 似乎是一种选择,但由于缓存 key 或其他原因,它不起作用。

关于javascript - Openlayers 3 替换失败的图 block ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37744685/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com