2012-04-05 9 views
26

Ich mache eine mobile Web-App.Schließen Sie Infofenster in Google Maps, indem Sie auf die Karte klicken?

Teil der App fällt mehrere Marker, die zum Öffnen von Info-Fenstern angeklickt werden können. Es irritiert mich, dass diese nicht verschwinden, wenn Sie die Karte weiterhin verwenden, ohne sie zu bestätigen, wie in der iOS-Karten-App.

Gibt es eine Möglichkeit, es so einzurichten, dass, wenn der Benutzer auf die zugrunde liegende Karte klickt, alle geöffneten Infofenster geschlossen werden?

Antwort

31

hinzufügen Zuhörer zur Karte klicken Veranstaltung und in der Nähe Infobox in seinen Handler

google.maps.event.addListener(map, "click", function(event) { 
    for (var i = 0; i < ibArray.length; i++) { //I assume you have your infoboxes in some array 
     ibArray[i].close(); 
    } 
}); 

ich das auf typische Websites, aber sieht keinen Grund, es nicht auf mobilen

+1

Auch map.addListener ("Klick", Funktion (event) {... arbeitet –

33

arbeiten würde versuchen, diese :

google.maps.event.addListener(map, "click", function(event) { 
    infowindow.close(); 
}); 

Es ist ziemlich einfach und sollte auch funktionieren.

+4

Dies sollte die akzeptierte Antwort sein! Funktioniert wie ein Zauber! –

+1

Ja, ich oben zustimmen Kommentar # – Pupil

+0

Es ist wert zu sagen, dass dieser Code innerhalb der Marker-Ereignis-Listener-Funktion 'google.maps.event.addListener (Marker, 'click', function() {', coz ich verbrachte irgendwann versuchen, es ohne zu arbeiten Ich weiß, dass es da sein sollte. "Danke. – tinyCoder

5
google.maps.event.addListener(marker, 'click', function() { 
    if(!marker.open){ 
     infoWindow.open(map,marker); 
     marker.open = true; 
    } 
    else{ 
     infoWindow.close(); 
     marker.open = false; 
    } 
    google.maps.event.addListener(map, 'click', function() { 
     infoWindow.close(); 
     marker.open = false; 
    }); 
}); 

funktioniert perfekt

+0

Dies ist die einzige Antwort, die für mich funktioniert, mit Ausnahme von" infowindow "ist jetzt" infoWindow ". –

Verwandte Themen