2015-04-20 67 views
1

我目前在使用ol.animation的OpenLayers中做一些動畫(smooth zooming & panning),但有時這些動畫太快而無法顯示平滑縮放(瓦片載入速度不夠快) - 這是預期的行爲。但是,我的網頁上的動畫只有在觀看者閱讀整個文章(〜1分鐘)後纔會開始,所以我想我可以預先加載這段時間內不需要的動畫片段。在動畫之前預加載瓦片

是否有可能預加載圖層/地圖的圖塊?我在想一些解決方案:

  • 創建另外的看法,模擬第一層
  • 創建後是可見的一層/圖克隆背後的動畫,並且在額外的時間來創建動畫 後面。當動畫完成後,只顯示 預加載地圖
  • 調用一些loadTiles取決於我想要加載, 瓷磚功能,但我不知道它是函數存在
+0

請參閱[「應該在其標題中包含」標籤?「](http://meta.stackexchange.com/questions/19190/should-questions-include-tags-in-their-titles),其中共識是「不,他們不應該」! –

回答

0

它比更容易你認爲 - 瓷磚層有一個preload選項。所以如果你想預先加載到縮放級別3,您可以構建與

new ol.layer.Tile({ 
    ... 
    preload: 3 
}); 

另見http://openlayers.org/en/v3.4.0/apidoc/ol.layer.Tile.html圖層。

+0

感謝您澄清preload參數(我認爲它只會預裝低質量的瓷磚)。 問題是我已經通過[link](https://www.cs.ubc.ca/~tmm/courses/cpsc533c-04-spr/readings/zoompan.pdf)實現了平滑縮放和平移,並且位置可以是隻有幾千公里的路程,而且這些動畫我想要預先加載。不幸的是,在這種情況下,預加載屬性不起作用:( – logocar3

+0

)您是正確的 - 預加載會將縮放級別0的較低分辨率磁貼加載到您爲預加載指定的縮放級別,但僅限於可見範圍。 ,僅適用於縮放。 – ahocevar