2015-04-17 66 views
3

我目前有許多更新功能的Openlayers 3集成,這些會導致滾動停頓,尤其是在使用「動態」運動(輕彈滾動)時。有沒有辦法讓這種平滑的滾動慣性消失,所以用戶必須拖動移動地圖?Openlayers 3關閉平滑滾動

在縮放時移除動畫也會有幫助。

我一直在尋找這些ol.animation領域 - 這是正確的地方?

回答

3

動能可以在ol.interaction.DragPan交互中關閉。通過將duration: 0傳遞給ol.interaction.MouseWheelZoom可以在放大時刪除動畫。

在這裏看到一個活生生的例子:http://jsfiddle.net/9v6fd6as/1/

這裏的源代碼示例:

var map = new ol.Map({ 
    layers: [ 
    new ol.layer.Tile({ 
     source: new ol.source.OSM() 
    }) 
    ], 
    interactions: ol.interaction.defaults({ 
    dragPan: false, 
    mouseWheelZoom: false 
    }).extend([ 
    new ol.interaction.DragPan({kinetic: false}), 
    new ol.interaction.MouseWheelZoom({duration: 0}) 
    ]), 
    target: 'map', 
    view: new ol.View({ 
    center: [0, 0], 
    zoom: 2 
    }) 
}); 
+0

完美的作品。我必須記住.extend功能 - OL 3文檔需要大量的工作。謝謝。 – pconnell99

+0

這減少了我的渲染時間SOOO!謝謝 – ryansstack