在 Google Maps 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
并关闭每个标记的信息窗口,但这感觉效率低下。