特定のマーカーがクリックされてウィンドウが開いたときに情報ウィンドウを開くための次のコードがあります。別の情報ウィンドウがクリックされたときに前の情報ウィンドウを閉じる方法を知っている人はいますか?
google.maps.event.addListener(marker, 'click', function() {
infowindow.open(map1, marker);
});
特定のマーカーがクリックされてウィンドウが開いたときに情報ウィンドウを開くための次のコードがあります。別の情報ウィンドウがクリックされたときに前の情報ウィンドウを閉じる方法を知っている人はいますか?
google.maps.event.addListener(marker, 'click', function() {
infowindow.open(map1, marker);
});
infoWindow
次のように、グローバル スコープで1 つだけ作成するようにしてください。
infoWindow = new google.maps.InfoWindow; //static infoWindow for all your markers
google.maps.event.addDomListener(window, 'load', function() {
//create your markers here
google.maps.event.addListener(marker, 'click', function() {
infoWindow.open(map1, marker); //take care with case-sensitiveness
});
});
更新:
infowindow.close()
開いている情報ウィンドウを閉じます。ただし、インフォウィンドウの作成方法によって異なります。すべてを処理するインフォウィンドウ変数は1つだけですか、それともマーカーごとに複数のインフォウィンドウオブジェクトを作成していますか。この段階でコードをもっと見ることなく、より具体的にするのは難しいです。
別の情報ウィンドウがクリックされたときに前の情報ウィンドウを閉じるには、次のコードが関数 initialize() ループ内にあることを確認する必要があります。
infoWindow = 新しい google.maps.InfoWindow;