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

mat*_*att 4 javascript api jquery 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>
Run Code Online (Sandbox Code Playgroud)

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

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

$('#googleMap').live('click', function(e) {
Run Code Online (Sandbox Code Playgroud)

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

kar*_*m79 10

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

<script src="http://maps.google.com/maps/api/js?sensor=false" type="text/javascript"></script>
Run Code Online (Sandbox Code Playgroud)

其次,您可以使用谷歌加载器(请参阅"动态加载"部分)在用户请求时启动地图,如下所示:

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