2013-04-23 55 views
4

我想加快我的網頁,減慢它的一件事就是我的谷歌地圖。我現在有它成立這樣的:加快谷歌地圖的加載速度

<script type="text/javascript" src="http://maps.googleapis.com/maps/api/js?key=key_goes_here&amp;sensor=false"></script> 
<script type="text/javascript" src="http://google-maps-utility-library-v3.googlecode.com/svn/trunk/infobox/src/infobox.js"></script> 

,並在我的document.ready腳本:

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

是否有這個選擇,我也嘗試異步加載,但我無法得到它與信息框工作,任何幫助,將不勝感激:)

+1

如果不知道性能問題是什麼,就不可能提供性能建議。 – charlietfl 2013-04-23 11:52:28

+0

您可以嘗試使用[Google Loader](https://developers.google.com/loader/)並自行託管'infobox.js'文件。 – robertklep 2013-04-23 11:54:29

回答

0

可以加快速度,如果你包含在文檔底部的腳本標記,使用JavaScript加載庫像HeadJS

+0

是的,我已經在文檔底部有我的腳本標記。 – 2013-04-23 11:51:57

1

你可以異步加載地圖:看https://google-developers.appspot.com/maps/documentation/javascript/examples/map-simple-async

如果靜態地圖會做,你可以用這個。一旦用戶需要完整的地圖,您可以加載它。

如果您不需要Infobox.js刪除它。如果你仍然需要它加載較小的壓縮版本(infobox_packed.js)。

最後但並非最不重要的一點是,你的網頁是如何加載到谷歌chromes這樣的撥款分析器中的。

+0

謝謝,那加載在我的地圖異步:)但是我有信息框的問題,它似乎只包括鏈接到它似乎不工作。它一直拋出錯誤,說谷歌沒有定義: -/ – 2013-04-23 14:28:15

+0

谷歌沒有定義,因爲信息框加載之前主要地圖的Java文件。查看google maps api示例中的回調參數。您必須從此回調方法加載信息框腳本。你使用jQuery嗎?如果是,請參閱http://api.jquery.com/jQuery.getScript/如果沒有看到http://stackoverflow.com/questions/3523091/dynamically-loading-javascript-files-and-load-completion-events – 2013-04-23 19:14:40

0

您可以加載Google API異步,在此之後,您可以擁有一個自定義事件,指示何時加載地圖的過程已完成。您可以在地圖上使用照片,並在事件被觸發時隱藏照片,您將獲得沒有「慢速負載效果」的地圖。