谷歌地图API -如何不加载/打开信息窗口点击,如果它已经打开停止闪烁

google maps API - how to NOT load/open infowindow on click if its already open to stop flickering

本文关键字:如果 闪烁 信息窗 API 何不 加载 谷歌地图 信息 窗口      更新时间:2023-09-26

很简单的问题,但我无法找到不这样做的方法。

打开任何有infowindows的google maps api演示。点击标记,就会打开信息窗口。快速地一次又一次地点击它,它会重新加载它,导致信息窗口闪烁。

是否知道如何声明监视或检查它是否已经打开以不实际执行此操作。?参考资料中找不到任何代码

google.maps.event.addListener(marker, 'click', function() {
  infowindow.open(map,marker);
});

那么某种if语句或代码可以判断我的窗口是否已经打开

google.maps.InfoWindow.prototype.opened = false;
var infowindow ;
var marker;

google.maps.event.addListener(marker, 'click', function() {
  if (infowindow.opened){
    //do nothing its already open
  }else{
    infowindow.open(map,marker); //open it
    infowindow.opened=true;
  }
});

google.maps.event.addListener(infowindow, 'closeclick', function() {
  infowindow.opened=false; //reset so that when closed it can be reopened again
});