【问题标题】:Disable interim tiles for tile layer禁用瓷砖层的临时瓷砖
【发布时间】: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


【解决方案1】:

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

【讨论】:

    猜你喜欢
    • 2018-05-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多