這是因爲谷歌地圖是異步加載您在調用該行的谷歌地圖API的加載之前。
這是怎麼要等到它的加載:
<!-- include this snippet anywhere -->
<script>
var infoWindow;
function initMap() {
infoWindow = new google.maps.InfoWindow();
}
</script>
<!-- include this script in your footer...or anywhere really -->
<script src="https://maps.googleapis.com/maps/api/js?key=YOUR_API_KEY&callback=initMap" async defer></script>
舉例來說,如果你試圖做這樣的事情:
<script>
var infoWindow = new google.maps.InfoWindow();
</script>
<script src="https://maps.googleapis.com/maps/api/js key=YOUR_API_KEY&callback=initMap" async defer></script>
然後你會得到一個錯誤,因爲google
會由於API尚未加載而執行var infoWindow = ...
時未定義。
您只能回調(例如initMap)後使用任何google.maps.XXX
類已被執行
這是偉大的不能相信我沒想到它,謝謝。 –