2011-10-16 27 views
2

我使用谷歌地圖V3 JavaScript API來創建谷歌地圖。這工作正常,但我的地圖上有很多標記,所以很多javascript正在創建,使頁面大約5mb,因此頁面加載時間很長(超過20秒)!我想通過ajax來拉動地圖,這樣我就可以顯示一個ajax loader gif,直到它被下載。儘管如此,我還是無法使用它。我把JavaScript和一切都插入到頁面,但地圖不加載。一旦代碼在頁面中或其他什麼地方,我需要調用一個初始化函數嗎?你可以通過AJAX插入谷歌地圖到頁面中

+1

也許您在尋找[marker manager?](http://geochalkboard.wordpress.com/2009/01/20/enhance-your-google-maps-applications-with-markermanager-and-progressbarcontrol/) –

回答

0

您可以使用addListener將事件綁定到地圖的空閒狀態。

所以,也許你可以加載它隱藏在後臺,顯示你的微調,等待事件,然後顯示它。

喜歡的東西:

google.maps.event.addListener(yourmap, 'idle', function() 
{ 
if(!mapLoaded) $('#yourmapdiv').trigger('mapLoaded'); 
mapLoaded=true; 
}); 

然後:

$('#yourmapdiv').bind('mapLoaded', function(){ 
// hide your spinner, show your map 
}); 

我不知道的一點是,如果空閒狀態僅涉及瓷磚裝載或所有標記。