Como faço para limpar uma InfoWindow quando o marcador associado está oculto?

Eu sei que muitos de nós estamos escrevendo código para abrir umInfoWindow quando um marcador é clicado. Mas oInfoWindow vai ficar no lugar até o canto superior direitoX é clicado, o que significa que a configuração doMarkervisibilidade parafalse irá criar o que é essencialmente um órfãoInfoWindow. E pode haver váriosInfoWindow instâncias exibidas no Mapa ao mesmo tempo. Eu acho que é simples o suficiente para o usuário clicar noInfoWindow fechado, mas parece esconder oMarker deve esconder o associadoInfoWindow.

Eu comecei a escrever código como o seguinte para lidar com este cenário:

<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>

É isso que todo mundo está fazendo? Parece um padrão de design que deve ser chamado deListenBack. Nunca vi o problema abordado nos documentos do Google Maps. Eu não posso deixar de pensar que deve haver um mecanismo mais simples embutido noInfoWindow para cuidar disso automaticamente. Existe uma maneira padrão de fazer isso que acabei de perder?

questionAnswers(2)

yourAnswerToTheQuestion