繁体   English   中英

单击标记时如何仅显示一个信息窗口?

[英]How to only display one info window when click on marker?

var i;
var marker = [];
var infowindow = [];

for(i=0; i<results.length ; i++ ){
marker[i] = new google.maps.Marker({
  position: results[i].geometry.location,
  map: map
});

infowindow[i] = new google.maps.InfoWindow({
  content: "test" + i
});

google.maps.event.addListener(marker[i], 'click', function(num) {
  return function() {
      infowindow[num].open(map, marker[num]);
  }
}(i)); 

}

单击每个标记(test1,test2,test3 ....)时,我编写了一些具有不同信息窗口内容的代码,即使我单击另一个标记,信息窗口也会保留在屏幕上。

单击每个标记时如何仅显示一个信息窗口?

只要记住当前打开的窗口,并在需要打开另一个窗口时将其关闭即可,类似于以下所示:

var curInfoWindow;
google.maps.event.addListener(marker[i], 'click', function(num) {
  return function() {
    if (curInfoWindow != null) {
        curInfoWindow.close();
    }
    curInfoWindow = infowindow[num];

    infowindow[num].open(map, marker[num]);
  }
}(i));

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM