Javascript &引用;“谷歌没有定义”;错误-尝试创建infowindow谷歌地图

Javascript &引用;“谷歌没有定义”;错误-尝试创建infowindow谷歌地图,javascript,android,google-maps,web,google-maps-api-3,Javascript,Android,Google Maps,Web,Google Maps Api 3,在Google Maps API中,我想在每次放置标记时创建一个信息窗口(标记都存储在一个数组中)。 声明infowindow时: var infowindow = new google.maps.InfoWindow(); 我得到的错误是“谷歌没有定义” 只有当我在创建标记的函数中移动这行代码时,这才会停止,但是每次我放置一个标记时,我都会创建变量infowindow,我知道这是错误的做法 我更愿意在JS开始时声明infowindow,然后每次放置标记时都使用它。 我从其他答案中找不到任何帮

在Google Maps API中,我想在每次放置标记时创建一个信息窗口(标记都存储在一个数组中)。
声明infowindow时:

var infowindow = new google.maps.InfoWindow();
我得到的错误是“谷歌没有定义”

只有当我在创建标记的函数中移动这行代码时,这才会停止,但是每次我放置一个标记时,我都会创建变量infowindow,我知道这是错误的做法

我更愿意在JS开始时声明infowindow,然后每次放置标记时都使用它。
我从其他答案中找不到任何帮助,因此,我尝试重新排序JS文件,但到目前为止没有任何效果


任何提示都是受欢迎的

我已经看到很多时间“谷歌没有定义”。我认为谷歌脚本与FF插件有问题。FF具有重新启动选项,请在禁用附加组件的情况下尝试帮助>重新启动。:)

这是因为google maps是异步加载的,您在加载google maps 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>

var信息窗口;
函数initMap(){
infoWindow=new google.maps.infoWindow();
}
例如,如果您尝试这样做:

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

var infoWindow=new google.maps.infoWindow();
然后您会得到一个错误,因为当执行
var infoWindow=…
时,由于API尚未加载,所以不会定义
google


您只能在执行回调(例如initMap)后使用任何
google.maps.XXX

我也听说过,但是这在任何浏览器中都不适用!太棒了,真不敢相信我没想到,谢谢。