Чтобы закрыть все InfoWindows в Google Maps JavaScript API v3, вы можете использовать следующие методы:
Метод 1: отслеживание открытых InfoWindows
Вы можете создать массив или объект для хранения ссылок на все открытые InfoWindows. Всякий раз, когда открывается новое информационное окно, вы можете добавить его в массив, а если вы хотите закрыть все информационные окна, вы можете перебрать массив и закрыть каждое из них.
‘Hello, World!’
});
// Открываем InfoWindow и добавляем его в массив
infoWindow.open(map, маркер);
openInfoWindows.push(infoWindow);
// Закрываем все InfoWindows
closeAllInfoWindows();
Метод 2: использование прослушивателей событий
Другой подход заключается в использовании прослушивателей событий для закрытия InfoWindows всякий раз, когда происходит определенное действие, например щелчок по карте или маркеру. Таким образом, вам не нужно явно отслеживать все открытые InfoWindows.
// Function to close all InfoWindows
function closeAllInfoWindows() {
google.maps.event.trigger(map, 'click');
}
// Example usage: closing InfoWindows on map click
google.maps.event.addListener(map, 'click', function() {
infoWindow.close();
});