2013-04-23 116 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异步,在此之后,您可以拥有一个自定义事件,指示何时加载地图的过程已完成。您可以在地图上使用照片,并在事件被触发时隐藏照片,您将获得没有“慢速负载效果”的地图。