禁用图块层的临时图块

时间:2016-04-12 08:14:50

标签: openlayers-3

创建这样的地图时:

var map = new ol.Map({
   loadTilesWhileAnimating: true,
   loadTilesWhileInteracting: true
})

OpenLayers 3在缩放和平移时使用临时图块(即先前加载的较​​低分辨率图块),直到它完成加载新图块。 临时瓷砖放在真正的瓷砖后面。这是非常聪明的,对于不透明的图层来说非常好,但对于大多数透明图层来说,它们并不是那么好。

我们目前有一个只包含几行的图层,只有几个像素。稍微平移地图会使这些变成巨大的斑点,导致大量的闪烁。

有没有办法禁用这些临时图块的创建,仅针对特定图层?如果我因为单个图层而需要禁用loadTilesWhile *属性,那将是令人失望的。

有关示例,请参阅:http://imgur.com/RbtmkpT 左边是正常的(红线是我的),右边是稍微平移后。

这是源上的cacheSize 0和useInterimTilesOnError false。

更新: OpenLayers 3.12表现不同。在该版本中,只有卸载的图块是模糊的(这是预期的),但已经加载的图块是单独的。从3.13或3.14开始,此行为已更改。

1 个答案:

答案 0 :(得分:0)

在OpenLayers GitHub存储库中查看我的pull请求以获取解决方案/解决方法: https://github.com/openlayers/ol3/issues/5251#issuecomment-212322292