Google Maps/Places API JavaScript-无法读取属性';设置内容';未定义的

Google Maps/Places API JavaScript-无法读取属性';设置内容';未定义的,javascript,jquery,google-maps,google-places-api,Javascript,Jquery,Google Maps,Google Places Api,我试图在单击使用places查询放置的每个标记时显示一个信息窗口。我正在使用地理定位找到位置,然后显示附近所有的酒吧。我希望能够单击每个标记,它会显示酒吧的名称(place.name) 我在控制台中单击标记时遇到的错误是“无法读取未定义的属性“setContent”” //谷歌的地方代码不包括我的地理位置代码,这很好// function initMap() { myLatLng = new google.maps.LatLng(lat,long); var Options = { sc

我试图在单击使用places查询放置的每个标记时显示一个信息窗口。我正在使用地理定位找到位置,然后显示附近所有的酒吧。我希望能够单击每个标记,它会显示酒吧的名称(place.name)

我在控制台中单击标记时遇到的错误是“无法读取未定义的属性“setContent”

//谷歌的地方代码不包括我的地理位置代码,这很好//

function initMap() {
myLatLng = new google.maps.LatLng(lat,long);
var Options = {
    scrollwheel: false,
    zoom:15,
    center: myLatLng,
    disableDefaultUI: true,
    mapTypeId: google.maps.MapTypeId.ROADMAP
};

map = new google.maps.Map(document.getElementById('map'),Options);
var marker = new google.maps.Marker({
    position: myLatLng,
    map: map,
    label: "Y",
});    

      var service = new google.maps.places.PlacesService(map);
      service.nearbySearch({
        location: myLatLng, //Uses geolocation to find the following
        radius: 500,
        types: ['bar']
      }, callback);

  };

function callback(results, status) {
  if (status === google.maps.places.PlacesServiceStatus.OK) {
    for (var i = 0; i < results.length; i++) {
      createMarker(results[i]);
    }
  }
}

function createMarker(place) {
  var placeLoc = place.geometry.location;
  var marker = new google.maps.Marker({
    map: map,
    position: place.geometry.location
  });

  google.maps.event.addListener(marker, 'click', function() {
    infowindow.setContent(place.name);
    infowindow.open(map, this);
  });
}
函数initMap(){
myLatLng=新的google.maps.LatLng(lat,long);
变量选项={
滚轮:错误,
缩放:15,
中心:myLatLng,
disableDefaultUI:true,
mapTypeId:google.maps.mapTypeId.ROADMAP
};
map=new google.maps.map(document.getElementById('map'),选项);
var marker=new google.maps.marker({
职位:myLatLng,
地图:地图,
标签:“Y”,
});    
var service=newgoogle.maps.places.PlacesService(地图);
服务,近距离搜索({
位置:myLatLng,//使用地理位置查找以下内容
半径:500,
类型:['bar']
},回调);
};
函数回调(结果、状态){
if(status==google.maps.places.PlacesServiceStatus.OK){
对于(var i=0;i
我发现这段代码和我的问题完全一样,infowindow没有加载,控制台中也出现了同样的错误

下面是我在控制台中得到的错误:


谢谢大家!

未定义infowindow变量。在调用
infoWindow.setContent()之前,请尝试
infoWindow=new google.maps.infoWindow


在这里查看有关如何使用infoWindows的详细信息:

我刚刚添加了此选项,错误保持不变。我知道我遗漏了一些东西,只是不知道是什么。你能更新代码片段,让我看看你在哪里添加了它吗?另外,请确保像这样定义要附加到的地图:
infoWindow=new google.maps.infoWindow({map:map})终于开始工作了!我添加了这个“var infowindow=new google.maps.infowindow();”info-my-createMarker函数。现在,它会在信息窗口中显示onclick,其中包含每个项目的地名。谢谢你的帮助!:)