2
我正在開發Google地圖和開放層之間的集成4.我的工作基於this example from documentation for openlayers 3。如何將縮放級別限制在開放層中的整數
我的問題是,ol 3和ol 4.4.2之間的某個地方的行爲change:resolution
事件發生了變化。此前該代碼
view.on('change:resolution',() => {
console.log(view.getZoom())
})
只被調用一次每個鼠標滾輪旋轉和記錄(例如):
5
,現在它會產生這樣的:
4.017277252772164
4.08563754449778
4.152661471658049
4.522609511830051
4.691606503462093
4.793368457643155
4.891103916717288
4.980192777999678
4.999621855713164
5
所以,當我嘗試同步Google地圖和開放式廣告之間的縮放比例(如示例中所示),這會導致Google地圖在每次縮放時閃爍。谷歌地圖似乎不支持縮放的分數值。
我可以將開源圖像縮放值限制爲整數還是做一些變通?
我試圖在調用googleMap.setZoom
時使用openlayers zoom的ceil/floor值,但由於縮放還涉及到中心位置的變化,所以會導致不舒服的行爲。
這似乎並沒有解決我的問題。是的,縮放的最終值是一個整數,但我仍然得到這些中間分數。 –
使用 'map.on( 'moveend',()=> { 的console.log(map.getView()。getZoom()) })' 你想要變焦結束後沒有對決議的變化,因爲它在縮放級別之間進行動畫處理。 –
我只能在openlayers動畫結束後才能啓動Google地圖縮放動畫,現在看起來更怪異 –