2013-01-11 17 views
5

以下是我在使用Google Maps API時遇到的真正挑戰。我有一個全屏的應用程序,有一個Google地圖可以填充整個背景。此應用程序的某些UI鑲邊覆蓋了部分地圖,因此實際上整個地圖並不總是可見的。谷歌地圖:重新定義中心點,適合特定區域

取而代之的是,我們有一個「主」可見區域,以及「部分」可見區域,像這樣:

map example

這裏是我的問題:

一般來說,如果你想中心您調用map.setCenter(latLng)的視圖中的某些內容將給定的latLng放置在地圖畫布的精確中心。但是,就我而言,我想將給定的latLng不放在畫布的正中間,而是放在畫布的完全可見部分的中央。

我一直沒有找到任何方法將地理點設置爲畫布的確切中心以外的任何文檔。有誰知道這是否可能?同樣,如果您想縮放地圖以適合多個點,則可以將所有這些latLngs傳遞給邊界對象,每個邊界對象調用bounds.extend(latLng),然後調用map.fitBounds(bounds)

但是,這將適合地圖,以便點顯示在整個地圖畫布內。是否有可能使它們適合畫布的特定部分?

感謝您的任何見解。

回答

4

創建地圖後,使用地圖的panBy方法以平移給定像素的地圖。

map.panBy(rightPadding/2,-topPadding/2); 

演示:http://jsfiddle.net/doktormolle/JsBEx/

+0

好的,這是一個集中點的好主意。你有沒有想過如何確保邊界內的所有點都適合可見區域,而不是整個區域? – Andrew

+1

在完成這一步後,我得出結論,你不能在完整的地圖上使用fitbounds或任何其他方法。儘管如此,平移顯示的是作品,一般情況下,如果你適合邊界,平移,然後縮小一點,事情就會顯示出來,正如我需要的那樣。所以,我會在這個基礎上接受這個答案。謝謝! – Andrew

相關問題