你可以这样做。您可以在 url 中添加回调函数名称。加载 API 时将调用它。该回调函数必须在文档范围内可访问。
我前段时间通过使用 jQuery 在窗口上触发自定义事件来做到这一点:http: //jsfiddle.net/fZqqW/5/
使用“ http://maps.google.com/maps/api/js?sensor=false&callback=gMapsCallback ”
window.gMapsCallback = function(){
$(window).trigger('gMapsLoaded');
}
$(document).ready((function(){
function initialize(){
var mapOptions = {
zoom: 8,
center: new google.maps.LatLng(-34.397, 150.644),
mapTypeId: google.maps.MapTypeId.ROADMAP
};
map = new google.maps.Map(document.getElementById('map_canvas'),mapOptions);
}
function loadGoogleMaps(){
var script_tag = document.createElement('script');
script_tag.setAttribute("type","text/javascript");
script_tag.setAttribute("src","http://maps.google.com/maps/api/js?sensor=false&callback=gMapsCallback");
(document.getElementsByTagName("head")[0] || document.documentElement).appendChild(script_tag);
}
$(window).bind('gMapsLoaded', initialize);
loadGoogleMaps();
})());
异步加载 API
您可能希望在页面完成加载后或按需加载 Maps API JavaScript 代码。为此,您可以注入自己的代码以响应 window.onload 事件或函数调用,但您需要额外指示 Maps JavaScript API 引导程序延迟应用程序代码的执行,直到 Maps JavaScript API 代码完全加载. 您可以使用回调参数来执行此操作,该参数将在完成加载 API 时执行的函数作为参数。
以下代码指示应用程序在页面完全加载后(使用 window.onload)加载 Maps API,并将 Maps JavaScript API 写入页面内的标记中。此外,我们通过将 callback=initialize 传递给 Maps 来指示 API 仅在 API 完全加载后执行 initialize() 函数
见这里:https ://developers.google.com/maps/documentation/javascript/tutorial