要访问Google maps api,我何时需要使用以下脚本?

时间:2016-02-24 14:14:10

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

<script type="text/javascript" src="http://maps.google.com/maps/api/js"></script>
  

<script async defer  src="https://maps.googleapis.com/maps/api/js?key=YOUR_API_KEY&callback=initMap">   </script>
  

n上面的脚本,区别在于API密钥。我注意到使用和不使用API​​ KEY的代码示例。它说谷歌地图Javascript API 2需要API密钥,谷歌地图Javascript API 3不需要密钥。但是在脚本中我们没有提到它应该访问哪个版本的API。那有什么区别呢?

1 个答案:

答案 0 :(得分:3)

此脚本在没有API密钥的情况下加载experimental version Google Maps Javascript API:

<script type="text/javascript" src="http://maps.google.com/maps/api/js"></script>

此脚本使用API​​密钥异步加载Google Maps Javascript API的实验版:

<script async defer  src="https://maps.googleapis.com/maps/api/js?key=YOUR_API_KEY&callback=initMap">   </script>
  • API密钥允许跟踪使用情况,并允许您在需要时购买额外的配额。

对于async defercallback参数,请回答此问题:Page speed - any problems with simply using defer attribute?

  

async :您可以通过在现代浏览器上使用async属性来阻止脚本在加载期间阻止

     

延迟:defer属性表示在页面DOM完全加载之前根本不加载。推迟意味着异步。

     

使用Google Maps API,您必须在异步加载API时使用回调参数。这会导致api在内部使用动态脚本插入而不是document.write调用。您也可以指定一个空的回调参数。