我使用map.panTo()
在標記之間有一個很好的平滑過渡,當我從位置列表中單擊時,但我看不到類似的縮放方法...我想象的是類似setZoom(13, 1500)
的地方,其中1500是持續時間...如何以平滑縮放(api V3)爲中心設置Google地圖標記?
任何線索?
我使用map.panTo()
在標記之間有一個很好的平滑過渡,當我從位置列表中單擊時,但我看不到類似的縮放方法...我想象的是類似setZoom(13, 1500)
的地方,其中1500是持續時間...如何以平滑縮放(api V3)爲中心設置Google地圖標記?
任何線索?
到目前爲止放大的唯一原生函數是map.setZoom,它不會讓您改變速度。
如果你想設置的基於一組標記的地圖縮放級別,你可以做這樣的事情:
var bounds : LatLngBounds = new LatLngBounds(southwestmarker.getLatLng(), northeastmarker.getLatLng());
bounds.extend(someMarker.getLatLng());
//some more extend() here
map.setZoom(map.getBoundsZoomLevel(bounds));
我發現map.setZoom
就會順利,如果縮放級別的過渡在當前縮放級別的2以內。
因此,如果地圖設置爲10的縮放比例,我將其設置爲12,它將會轉換。但是,如果我將它設置爲13,它不會。
你也可以集變焦非整數,但地圖圖塊將不會加載和國家「對不起,我們這裏沒有圖像」。
你可以嘗試鏈接縮放,但我他們緩解進/出所以它會看起來生澀。
如果轉換超過2並且平滑很重要,則可以在其中一個地圖DOM元素上手動編輯矩陣轉換。它看起來像-webkit-transform: matrix(1, 0, 0, 1, -62, 71);
。更改第一個和第四個數字會影響規模,第一個是x規模,第四個是y規模。
矩陣是這樣的transform: matrix(xs, 0, 0, ys, xt, yt);
,其中xs
和ys
是規模,將其設置爲2將放大200%。這個矩陣確實需要小數值,所以你可以放大到1.1等。然後你可以在轉換結束時將map.setZoom()
加到你的最終數字上。
這確實有一些需要注意的,因爲它不是預期的用法:
我不需要中心ona組...我需要一個簡單的縮放,而不是直接形成縮放級別3到14,我認爲我們有某種谷歌地球縮放....似乎不正確? – Francesco 2010-11-30 19:32:38