2013-07-29 30 views
0

我使用Google Maps和JqueryUI Resizable()方法(來自JqueryUI 1.8.7)。谷歌地圖V3 - 調整大小的地圖和零星地圖平鋪加載

如果您單擊此地圖的右下角,則可以拖動並展開它。 http://www.energyjustice.net/t=eb5f7o

但是,如果你把它做得更寬一些,Google只提供高達800像素寬的地圖圖層。如果你把它做得更高,它也有類似的問題。

如果等幾分鐘,有時會加載全套瓷磚。一般來說,當你展開地圖時,它的行爲非常奇怪。它似乎在Firefox中比在Chrome中更好。這是爲什麼發生? 我能做些什麼來避免這種零星的行爲?

回答

4

一旦容器被調整大小,您需要通過觸發「調整大小」事件來告訴地圖填充所有可用空間。

下工作線在頁面上從你的鏈接(調整之後,從螢火蟲觸發)

google.maps.event.trigger(map, 'resize'); 

按照JQueryUI.Resizable API文檔,稱其在「STOP」事件被​​觸發(2008年末調整大小)應該完成這項工作。

+0

謝謝!適用於Firefox和Chrome。 –

+0

這似乎爲我工作: \t VAR idleListener = this.addListenerOnce(this.map, '空閒',函數(){ \t google.maps.event.trigger(this.rootScope.map, '調整' ); \t google.maps.event.removeListener(idleListener); \t}); –

1

我發現這個解決方案經過了這麼多的努力:

請添加以下代碼後的地圖是初始化:

var idleListener = google.maps.event.addListener(map, 'idle', function() { //important for full map shown 
    google.maps.event.trigger(map, 'resize'); 
    // google.maps.event.removeListener(idleListener); 
}); 

var idleListener2 = google.maps.event.addListener(map, 'mousemove', function() { 
    google.maps.event.trigger(map, 'resize'); 
    // google.maps.event.removeListener(idleListener2); 
}); 
+0

如果您發現谷歌地圖的任何查詢,請隨時聯繫。 –