创建这样的地图时:
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开始,此行为已更改。
答案 0 :(得分:0)
在OpenLayers GitHub存储库中查看我的pull请求以获取解决方案/解决方法: https://github.com/openlayers/ol3/issues/5251#issuecomment-212322292