2017-02-21 22 views
0

我一直在尋找的OpenLayers的動畫功能,我可以看到它是多麼簡單的使用的OpenLayers動畫getView()。符合()

view.animate({ 
    center: position, 
    zoom: 11 
}); 

但什麼放大到指定的點和分辨率我不知道是如何動畫

map.getView().fit(extent, map.getSize()); 

任何人都可以給我一些指針嗎?

在此先感謝

回答

2

擬合函數並在3的OpenLayers支持動畫第三個參數就是不同的選項(持續時間,緩解了...),可以設置一個對象,你可以很容易地做到這一點:

map.getView().fit(extent, map.getSize(), { duration: 1000 }); 

您可以查看Openlayers 3 API以查看有關選項參數的更多詳細信息。

我也創建了一個jsFiddle example你可以看到這個工作。

小心!的OpenLayers V4.0.1是在這裏:

隨着的OpenLayers的最近發佈的版本,與此相關的方法有些事情發生了變化,因此,如果您閱讀最新Openlayers API擬合函數的文檔,你會發現,只有2個參數現在是允許的,因爲大小不需要作爲參數傳遞(但是,它可以在選項參數中分配)。所以,你的例子適應的OpenLayers V4.0.1會像如下:

map.getView().fit(extent, { duration: 1000 }); 

記住這些變化是很重要的,因爲當你使用官方API它可以帶來confussion。