【发布时间】:2016-04-20 16:35:28
【问题描述】:
当创建这样的地图时:
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 开始,这种行为发生了变化。
【问题讨论】:
-
没有相关代码很难帮上忙。
-
这与我的代码无关(我只是创建了一个基本地图,然后使用 OSM 源添加两个切片图层),而是更多关于 OpenLayers 处理中间切片的方式,因为几个版本回来了。 ..
标签: openlayers-3