这是否记录在某处,我需要指定回调才能定义 google.maps 模块?或者这是一个错误。
以下代码不会加载谷歌地图模块:
<!DOCTYPE html>
<html>
<head>
<title>
Google Maps JavaScript API v3 Example: Asynchronous Map Simple
</title>
<meta name="viewport" content="initial-scale=1.0, user-scalable=no">
<meta charset="UTF-8">
<style type="text/css">
html { height: 100% }
body { height: 100%; margin: 0; padding: 0 }
#map_canvas { height: 100% }
</style>
<script type="text/javascript">
function initialize() {
var myOptions = {
zoom: 8,
center: new google.maps.LatLng(-34.397, 150.644),
mapTypeId: google.maps.MapTypeId.ROADMAP
};
var map = new google.maps.Map(document.getElementById('map_canvas'),
myOptions);
}
function loadScript() {
var script = document.createElement('script');
script.type = 'text/javascript';
script.src = 'http://maps.googleapis.com/maps/api/js?v=3.6&key=myKey&sensor=false' //adding 'callback=something' gets the maps module to load
document.body.appendChild(script);
}
window.onload = loadScript;
</script>
</head>
<body>
<div id="map_canvas"></div>
</body>
</html>
编辑——回复答案
为此,您可以注入自己的标签来响应 window.onload 事件或函数调用,但您还需要另外 指示 Maps JavaScript API 引导程序延迟执行您的 应用程序代码,直到 Maps JavaScript API 代码完全加载。 您可以使用回调参数来执行此操作,该参数作为参数 完成加载 API 后执行的函数。
这如何意味着没有回调将不会加载任何 api?它说当代码完全加载时,您可以使用回调参数来执行函数,但它并没有说如果没有回调参数,代码将永远不会加载。