2011-03-14 48 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和定位它的权利,这只是一个想法。