2011-06-01 64 views
4

我在之前的作業中使用了Google API版本2。在那裏,我用map.savePosition()來保存地圖的當前位置,並使用map.returnToSavedPosition()來恢復到保存的位置。我已經在api版本3文檔中搜索了相應的內容,但找不到相關結果。如果我現在用api-3使用map.savePosition(),javascript錯誤告訴「map.savePosition不是函數」。如何在谷歌地圖v3中保存和恢復地圖位置

有人可以告訴我什麼是保存和恢復谷歌地圖在API 3中的位置的方法?

回答

5

如上所述,V3中沒有類似的功能。自己實現真的很容易。

這裏有一種方法:

var previousPosition; 
function savePosition(map) { 
    previousPosition = map.getCenter(); 
} 

function returnToSavedPosition(map) { 
    if (previousPosition) { 
    map.panTo(previousPosition); // or setCenter 
    } 
} 

...然後只是把它想:

savePosition(map); 

簡單,是吧?

+0

v2中的savePosition()/ restorePosition()也保存/恢復了縮放級別。 – 2011-06-01 21:44:50

+0

雅,謝謝瑞安,不能投票,因爲它需要15聲望... – tusar 2011-06-02 04:32:10

+0

感謝broady這個簡單的演示! – tusar 2011-06-02 04:33:48

2

v3沒有savePosition()函數。您需要使用getCenter()和getZoom()來檢索當前位置,然後使用setCenter()和setZoom()恢復該位置。