Wie räume ich ein InfoWindow auf, wenn der zugehörige Marker ausgeblendet ist?

Ich weiß, dass viele von uns Code schreiben, um eine zu öffnenInfoWindow wenn ein Marker angeklickt wird. Aber dieInfoWindow bleibt an Ort und Stelle, bis oben rechtsX wird angeklickt, was bedeutet, dass die zugehörige EinstellungMarkerSichtbarkeit zufalse wird schaffen, was im Wesentlichen eine Waise istInfoWindow. Und es könnte mehrere gebenInfoWindow Instanzen, die gleichzeitig auf der Karte angezeigt werden. Ich denke, es ist einfach genug für den Benutzer, um nur auf die Schaltfläche zu klickenInfoWindow geschlossen, aber es fühlt sich an wie das VersteckenMarker sollte das zugehörige versteckenInfoWindow.

Ich habe angefangen, Code wie den folgenden zu schreiben, um mit diesem Szenario fertig zu werden:

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

Ist es das, was alle anderen tun? Es fühlt sich an wie ein Designmuster, das a genannt werden sollteListenBack. Ich habe das Problem in den Google Maps-Dokumenten noch nie gesehen. Ich kann nicht anders, als zu denken, dass es einen einfacheren Mechanismus geben muss, der in das System eingebaut istInfoWindow um dies automatisch zu erledigen. Gibt es eine Standardmethode, die ich gerade verpasst habe?

Antworten auf die Frage(2)

Ihre Antwort auf die Frage