Javascript 单击打开和关闭信息窗口

Javascript 单击打开和关闭信息窗口,javascript,google-maps,google-maps-api-2,Javascript,Google Maps,Google Maps Api 2,是否有人可以帮助我在eventListener中编写代码,以便信息窗口执行以下操作: 如果当前已关闭,则打开, 并在当前打开时关闭 我尝试了以下方法,但没有成功 google.maps.event.addListener(marker, 'click', function() { if(infowindow.closed == true){ infowindow.open(map, marker) } else{ infowindow.close(map, marker) } }) 来源:您可

是否有人可以帮助我在eventListener中编写代码,以便信息窗口执行以下操作: 如果当前已关闭,则打开, 并在当前打开时关闭

我尝试了以下方法,但没有成功

google.maps.event.addListener(marker, 'click', function() {
if(infowindow.closed == true){
infowindow.open(map, marker)
}
else{
infowindow.close(map, marker)
}
})

来源:

您可以使用以下内容:

    infoWindowClosed = true;

    google.maps.event.addListener(marker, 'click', function() {
        if (infoWindowClosed) {
            infowindow.open(map, marker);
            infoWindowClosed = false;
        } else {
            infowindow.close(map, marker)
            infoWindowClosed = true;
        }
    })

请先尝试关闭infow窗口,然后单击以再次打开:

<script>
var onMarkerClick = function() {
  var marker = this;
  var latLng = marker.getPosition();
  infoWindow.setContent('<h3>Marker position is:</h3>' +
      latLng.lat() + ', ' + latLng.lng());

  infoWindow.open(map, marker);
};

google.maps.event.addListener(map, 'click', function() {
  infoWindow.close();
});

var marker1 = new google.maps.Marker({
  map: map,
  position: new google.maps.LatLng(37.789879, -122.390442)
});

google.maps.event.addListener(marker1, 'click', onMarkerClick);
</script>

var onMarkerClick=function(){
var标记=这个;
var latLng=marker.getPosition();
infoWindow.setContent('标记位置:'+
latLng.lat()+','+latLng.lng());
信息窗口。打开(地图、标记);
};
google.maps.event.addListener(映射,'click',函数(){
infoWindow.close();
});
var marker1=新的google.maps.Marker({
地图:地图,
位置:新google.maps.LatLng(37.789879,-122.390442)
});
google.maps.event.addListener(marker1,'click',onMarkerClick);
有关更多信息,请访问此url的源代码:

您是否真的在使用?
<script>
var onMarkerClick = function() {
  var marker = this;
  var latLng = marker.getPosition();
  infoWindow.setContent('<h3>Marker position is:</h3>' +
      latLng.lat() + ', ' + latLng.lng());

  infoWindow.open(map, marker);
};

google.maps.event.addListener(map, 'click', function() {
  infoWindow.close();
});

var marker1 = new google.maps.Marker({
  map: map,
  position: new google.maps.LatLng(37.789879, -122.390442)
});

google.maps.event.addListener(marker1, 'click', onMarkerClick);
</script>