¿Cómo limpio un InfoWindow cuando el marcador asociado está oculto?
Sé que muchos de nosotros estamos escribiendo código para abrir unInfoWindow
cuando se hace clic en un marcador. Pero elInfoWindow
permanecerá en su lugar hasta la parte superior derechaX se hace clic, lo que significa que la configuración de la asociadaMarker
visibilidad afalse
Creará lo que es esencialmente un huérfano.InfoWindow
. Y podría haber múltiplesInfoWindow
instancias mostradas en el mapa al mismo tiempo. Supongo que es lo suficientemente simple para que el usuario haga clic en el botónInfoWindow
cerrado, pero se siente como esconder elMarker
debe ocultar lo asociadoInfoWindow
.
Comencé a escribir código como el siguiente para lidiar con este escenario:
<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>
¿Es esto lo que todos los demás están haciendo? Se siente como un patrón de diseño que debería llamarseEscuchar. Nunca he visto el problema abordado en la documentación de Google Maps. No puedo evitar pensar que debe haber un mecanismo más simple integrado en elInfoWindow
Para encargarse de esto automáticamente. ¿Hay una forma estándar de hacer esto que acabo de perder?