2016-04-12 87 views
2

當創建地圖像這樣:禁用臨時瓦片瓦片層

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

這不是我的代碼(我簡單地創建一個基本地圖,然後添加兩個OSM源的瓷磚層),但更多關於OpenLayers處理臨時瓷磚的方式,因爲幾個版本回來... –

回答