如果在异步加载gmaps时未指定回调,则不会加载其他必要的Google地图脚本

时间:2012-02-20 02:41:55

标签: google-maps google-maps-api-3

为了定义google.maps模块,我是否需要在某处指定回调?或者这是一个错误。

以下代码未加载Google地图模块:

<!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>

编辑 - 回答回答

  

为此,您可以注入自己的标签以响应a   window.onload事件或函数调用,但您需要另外   指示Maps JavaScript API引导程序延迟执行   应用程序代码,直到Maps JavaScript API代码完全加载。   可能使用callback参数执行此操作,该参数作为参数   完成加载API时执行的函数。

这有什么意味着没有回调不会加载任何api?它说你可以使用callback参数在代码完全加载时执行一个函数,但它没有说代码永远不会在没有回调参数的情况下加载。

1 个答案:

答案 0 :(得分:0)