2011-03-14 78 views
4

我使用Google Maps v3並希望加載速度更快。在網站中加載谷歌地圖的最佳方式

我的設置:

在.js文件

google.maps.event.addDomListener(window, 'load', initialize); 

而且在HTML頁面代碼月底結束:

<script type="text/javascript" src="http://maps.google.com/maps/api/js?sensor=false"></script> 
<script type="text/javascript" src="http://www.google.com/jsapi"></script> 

我怎樣才能使地圖上顯示屏幕更快?

+0

你確定延遲來自這些腳本嗎?你能發佈一個鏈接到這個頁面嗎? – 2011-03-14 14:02:46

+0

我不能作爲該網站沒有生活。 – raklos 2011-03-14 14:03:29

+0

公開開發服務器。如果需要,您可以使用用戶名/密碼組合進行控制。 – 2011-03-14 14:31:36

回答

5

你並不需要包括這兩個腳本:

<script type="text/javascript" src="http://maps.google.com/maps/api/js?sensor=false"></script> 
<script type="text/javascript" src="http://www.google.com/jsapi"></script> 

特別是如果你只使用谷歌地圖。如果您使用多個these Google APIs(或這些JavaScript libraries),則僅包含http://www.google.com/jsapi。否則,如果您只使用Google地圖,請僅包含http://maps.google.com/maps/api/js?sensor=false。這沿着將保存一個請求。

你不能真正讓地圖加載速度更快,但你可以做的一個技巧是首先使用谷歌地圖的Static Maps API加載一個靜態地圖,所以它會顯示加載速度更快。

另一個訣竅是隻有當用戶要求時才加載地圖。但是,不知道您的網站的要求是什麼,很難說。隨着谷歌庫加載程序,你可以做

google.load("maps", "3", {other_params:'sensor=false', callback: function(){ 
    var map; // initialize your map in here 
}); 

,或者如果你不使用庫加載器,你可以做this

0

你可以添加一個eventlistener到一個按鈕,並動態創建並填充一個新的iframe作爲內容的地圖?這樣,地圖將不會被加載,直到按鈕被點擊。

var map = YOUR GOOGLE MAPS MINIMAP SRC; 
$('#button').bind('click', function() { 
    if($('#iframe').size == 0) { 
     $('#iframe').load(map, function() { 
      $('#button').unbind('click'); 
     }); 
    } 
}); 

當然,你必須風格的iframe和定位它的權利,這只是一個想法。