Jak wyczyścić InfoWindow, gdy powiązany znacznik jest ukryty?
Wiem, że wielu z nas pisze kod, aby otworzyćInfoWindow
po kliknięciu znacznika. AleInfoWindow
pozostanie na miejscu aż do górnego prawego roguX jest kliknięty, co oznacza, że ustawienie powiązanegoMarker
widoczność dofalse
utworzy to, co jest zasadniczo osieroconeInfoWindow
. I może być wieleInfoWindow
instancje wyświetlane na Mapie w tym samym czasie. Sądzę, że jest to na tyle proste, że użytkownik może po prostu kliknąćInfoWindow
zamknięte, ale wydaje się, że chowa sięMarker
powinien ukryć skojarzoneInfoWindow
.
Zacząłem pisać kod jak poniżej, aby poradzić sobie z tym scenariuszem:
<code>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(); }); }); </code>
Czy tak robią wszyscy inni? Czuje się jak wzór, który należy nazwaćListenBack. Nigdy nie widziałem problemu rozwiązanego w dokumentach Google Maps. Nie mogę pomóc, ale myślę, że musi istnieć prostszy mechanizm wbudowany wInfoWindow
zająć się tym automatycznie. Czy istnieje standardowy sposób, aby to zrezygnować?