加载Google Maps API后执行功能

时间:2014-04-07 16:10:07

标签: jquery function google-maps

我有以下脚本,它基本上加载了Google Maps API。这来自他们的文档。

function loadScript() {
      var script = document.createElement('script');
      script.type = 'text/javascript';
      script.src = 'https://maps.googleapis.com/maps/api/js?v=3.exp&sensor=false&' + 'callback=initialize';
      document.body.appendChild(script);
}

window.onload = loadScript;

现在我的问题是我有一个名为GetMap()的单独函数,它基本上使用API​​生成一个Google Map,但是,这个函数在API加载之前一直触发,因此只有在我加载时才会加载地图示例有一个按钮来加载它,或者如果我做一个警报。我怎么能绕过这个?我试过推迟主脚本文件。我已经尝试将上面的内容添加到document.ready中,并使用document.load中的函数,反之亦然。这些都不起作用。

1 个答案:

答案 0 :(得分:2)

您已在网址上添加了callback参数,您只需要包含以下功能:

function loadScript() {
      var script = document.createElement('script');
      script.type = 'text/javascript';
      script.src = 'https://maps.googleapis.com/maps/api/js?v=3.exp&sensor=false&callback=initialize';
      document.body.appendChild(script);
}

function initialize() {
    alert("Map loaded, do some other stuff...");
}

window.onload = loadScript;