我正在尝试Google Java Maps API for Javascript,并遇到了“ Hello World”部分。
<script>
var map;
function initMap() {
map = new google.maps.Map(document.getElementById('map'), {
center: {lat: -34.397, lng: 150.644},
zoom: 8
});
}
</script>
<script src="https://maps.googleapis.com/maps/api/js?key=YOURAPIKEY&callback=initMap"
async defer></script>
我注意到map = new google.maps.Map()
使用变量google。如果我尝试仅使用NodeJS运行javascript代码,则会收到ReferenceError。
var map;
map = new google.maps.Map(document.getElementById('map'), {
center: {lat: -34.397, lng: 150.644},
zoom: 8
});
为什么使用浏览器在html中运行时没有ReferenceError: google is not defined
发生?
答案 0 :(得分:0)
因为它是在您用<script src="https://maps.googleapis...
引用的脚本中声明的。
所引用脚本的第一行:
window.google = window.google || {};
脚本的其余部分将构建google
对象中的所有对象:
google.maps = google.maps || {};
...
google.maps.Load = function(apiLoad) {
等