我正在使用在Google文档中找到的示例:https://developers.google.com/maps/documentation/javascript/tutorial#asynch
我已经复制/粘贴了hello世界代码,它工作正常:它向我显示了指定位置的地图。但是现在我希望能够在JS文件中的此映射中进行易于阅读的工作,因此我只在<script src="RunUTrail.js"></script>
之前添加了</body>
。
该文件包含与<script>
中完全相同的方法:
var map = new google.maps.Map(document.getElementById('map'), {
center: {lat: -34.397,lng: 150.644},
zoom: 8
});
除了我有ReferenceError: google is not defined
以外,它什么都不做。使用JS文件中的API会丢失什么?
答案 0 :(得分:1)
您需要将用于地图显示的js代码放在类似initMap()的回调函数中,并在Google Maps脚本源中添加回调函数的名称。
HTML代码:
<div id="map" style="width: 500px; height: 400px;"></div>
<script async defer
src="https://maps.googleapis.com/maps/api/js?key=YOUR_API_KEY&callback=initMap">
</script>
JS代码:
var map;
function initMap() {
map = new google.maps.Map(document.getElementById('map'), {
center: {lat: -34.397, lng: 150.644},
zoom: 8
});
}