Google マップ v3 で、現在開いているすべての情報ウィンドウを閉じるにはどうすればよいですか?
一部の人が示唆しているように、変数で最後に開いた情報ウィンドウを追跡することはできません。私の設定では、各マーカーには一意のテキストがあるため、作成された時点で情報ウィンドウをマーカーにバインドする必要があります。
_.each(new_companies, function(c) {
var latLng = new google.maps.LatLng(c.com_d_coo_y_wgs84,
c.com_d_coo_x_wgs84);
var marker = new google.maps.Marker({'position': latLng});
marker.info = new google.maps.InfoWindow({
content: getTooltipText(c)
});
google.maps.event.addListener(marker, 'mouseover', function() {
marker.info.open(map, marker);
// How to close all currently open info windows?
});
google.maps.event.addListener(marker, 'click', function() {
marker.info.open(map, marker);
});
newco_markers.push(marker);
});
newco_markers
すべてのマーカーをループして、それぞれの情報ウィンドウを閉じることができると思いますが、それは非効率的です。