在需要时加载谷歌地图apis脚本? jquery.getScript()?

时间:2011-04-01 16:53:02

标签: javascript jquery api google-maps

嘿伙计们, 我在我的网站上使用带有完整地图api的谷歌地图。只有在点击特定链接(例如,显示地图)时,地图才可见并使用。由于这个映射api是一个相当大的js文件,我想只在需要时才加载api,而不是在页面加载时加载,就像我现在正在做的那样。

现在我在我的

中有这个
<script src="http://maps.google.com/maps?file=api&amp;v=2&amp;sensor=true&amp;key=ABQIAAAAnf9W..." type="text/javascript"></script>
    <script type="text/javascript" src="http://maps.google.com/maps/api/js?sensor=false"></script>

我正在使用jQuery,我有一个单独的script.js文件,我存储了所有的javascript。

我单击以下项目时仅显示地图:

$('#googleMap').live('click', function(e) {

是否可以使用jquery getScript()仅在单击此链接时加载上述脚本?或者至少加载“onLoad()”而不是“onDomReady”?

1 个答案:

答案 0 :(得分:10)

首先,您不需要包含这两个脚本。你只需要:

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

其次,您可以使用google loader(请参阅“动态加载”部分)在用户请求时启动地图,如下所示:

$("#foo").click(function() {
    google.load("maps", "3", {other_params:'sensor=false', callback: function(){
        alert('maps API loaded!');
        var map; 
        // do stuff with your map
    });
});