/ /マーカーが削除されたときにInfoWindowを削除するにはどうすればよいですか。 - javascript、google-maps、google-maps-api-3、google-maps-marker

マーカーが削除されたときにInfoWindowを削除するにはどうすればよいですか? - javascript、google-maps、google-maps-api-3、google-maps-marker

Googleマップのdivと、マップ上のマーカーをフィルタ処理するために使用するチェックボックスのリストがあります。

しかし、マーカーをクリックすると、 InfoWindowチェックボックスをクリックして、そのタイプのマーカーを削除します。 InfoWindow マップから削除されません。

マーカーを削除したら、このコードを呼び出します。 InfoWindow とどまる:

try {
if( infowindow ) {
infowindow.close();
}
}
catch(err) { }

回答:

回答№1は5

を作成するコードを変更することをお勧めします。 Marker 次の例のようなコードを追加して、InfoWindowを開くリスナーをクリックします。

google.maps.event.addListener( marker, "click", function() {
var bubble = new google.maps.InfoWindow({
content: buildBubbleContent( param1, param2 )
});
bubble.open( map, marker );
//pretty standard stuff to here, but the next line is new (for me):
google.maps.event.addListenerOnce( marker, "visible_changed", function() {
bubble.close();
});
});

問題となっているように: 関連付けられたマーカーが非表示になっているときに情報ウィンドウをクリーンアップする方法


回答№2については4
function closeInfoWindow() {
if (infoWindow !== null) {
google.maps.event.clearInstanceListeners(infoWindow);  // just in case handlers continue to stick around
infoWindow.close();
infoWindow = null;
}
}