2010-06-18 83 views
1

我有一個Google Map(API 2),它曾經作爲獨立頁面正常工作。iframe中的GMap偏離中心

然而,當我加載地圖頁面中的iframe中(與Thickbox),地圖上下車中心:
通常它是在德國和它在伊朗中心的iframe中心,來代替。

如何使地圖中心正確?


我的猜測:

的問題可能會導致來自iframe的加載時間。我猜想,該腳本在仍在加載時基於iframe大小計算窗口大小。這很奇怪,因爲我在文檔準備就緒時加載地圖。

$(document).ready(function() { 
    setupSearchForm(); 
    setupMap(); 
    setupResults(); 
}); 

例如,當我刷新已經加載的iframe時,中心會回到德國。 加載地圖的代碼示例

回答

1

我的猜測結果很好。原因是在加載期間計算的iframe大小。

的修復很簡單:只需向GMapOptions指定size - 那麼,地圖會一直知道有多大的容器。

在我的情況下,它意味着改變

map = new GMap2(document.getElementById("map_canvas")); 

map = new GMap2(document.getElementById("map_canvas"), { 
    size:new GSize(970,500), 
});