向 Google 地图添加信息框?

Adding an Infobox to GoogleMaps?

我正在尝试将信息框添加到 Google 地图上的多个图钉。

我已经让信息框工作了 - JSfiddle

但我现在更改了代码以包含下拉菜单。我试图再次添加信息框,但它不起作用,我不明白为什么它不起作用。 JSfiddle。 我已经复制并粘贴了信息框的代码,检查了变量名称是否仍然匹配,代码的顺序是否相同。

以下代码是将标记添加到地图的地方,我正在尝试添加一个信息框。函数 addMarker 位于我的初始化函数中。 var infowindow 位于初始化函数下方。

function addMarker(feature) {
  var marker = new google.maps.Marker({
  position: feature.position,
  icon: feature.icon,
  map: map,
  size: 20,
  title: name,
  draggable: false, 
  //animation: google.maps.Animation.DROP
    });

   google.maps.event.addListener(marker, 'click', (function (marker) {return function () {
        var Infocontent = feature.desc;
        infowindow.setContent(Infocontent);
        infowindow.open(map, marker); //'mouseover'
      }
     })(marker));
    }




var infowindow = new google.maps.InfoWindow();

有人可以告诉我哪里做错了吗?

我刚刚通过创建新的 fiddle 更新了您的代码,现在它显示了信息窗口。我只是在侦听器定义中移动了您的信息窗口代码。 请检查

    google.maps.event.addListener(marker, 'click', (function (marker) {return function () {
   console.log('called');
        var Infocontent = feature.desc;
        infowindow = new google.maps.InfoWindow();
        infowindow.setContent(Infocontent);
        infowindow.open(map, marker); //'mouseover'
      }
     })(marker));

JSFiddle