【问题标题】:Auto close InfoWindow in googlemap在 googlemap 中自动关闭 InfoWindow
【发布时间】:2015-01-25 16:13:27
【问题描述】:

我不知道如何在另一个打开时自动关闭 InfoWindow

 function bindInfoWindow(marker, map, title, race, loc, org, web, link) {
  var infoWindowVisible = (function () {
          var currentlyVisible = false;
          return function (visible) {
              if (visible !== undefined) {
                  currentlyVisible = visible;
              }
              return currentlyVisible;
           };
       }());
       iw = new google.maps.InfoWindow();
       google.maps.event.addListener(marker, 'click', function() {
           if (infoWindowVisible()) {
               iw.close();
               infoWindowVisible(false);
           } else {
               var html= "<div style='color:#000;background-color:#fff;padding:5px;width:250px;'><h4>"+title+"</h4><p>Race</p><h4>"+race+"</h4><p>Location</p><h4>"+loc+"</h4><hr /><p>Organizzazione</p><h4>"+org+"</h4><a href='"+link+"'' >"+web+"<a></div>";
               iw = new google.maps.InfoWindow({content:html});
               iw.open(map,marker);
               infoWindowVisible(true);
           }
    });
    google.maps.event.addListener(iw, 'closeclick', function () {
        infoWindowVisible(false);
    });
}

我试过了,但找不到我的类型案例。

【问题讨论】:

    标签: google-maps infowindow


    【解决方案1】:

    如果您只想要一个信息窗口,只需创建一个信息窗口(在全局范围内),重复使用它并在单击标记时更改其内容,如果用户单击地图则关闭它。

    similar question

     var iw = new google.maps.InfoWindow(); // single global infowindow
     google.maps.event.addListener(map, 'click', function() {
       iw.close();
     });
     function bindInfoWindow(marker, map, title, race, loc, org, web, link) {
       google.maps.event.addListener(marker, 'click', function() {
         iw.close();
         var html= "<div style='color:#000;background-color:#fff;padding:5px;width:250px;'><h4>"+title+"</h4><p>Race</p><h4>"+race+"</h4><p>Location</p><h4>"+loc+"</h4><hr /><p>Organizzazione</p><h4>"+org+"</h4><a href='"+link+"'' >"+web+"<a></div>";
         iw.setContent(html);
         iw.open(map,marker);
       });
    }
    

    working fiddle - 您没有提供完整示例的不同代码演示了这个概念。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2017-03-30
      • 2021-06-05
      • 2018-11-24
      • 1970-01-01
      • 2013-10-25
      • 2011-04-24
      • 2019-08-05
      相关资源
      最近更新 更多