2012-07-05 14 views
16

Hallo Ich benutze Google Fusion Tabellen und Google Maps, die Sache ist, dass meine Markierungen korrekt angezeigt werden, aber ich möchte einige Bilder in das Informationsfenster einfügen. So ist die Sache, dass ich Abfragen mache, um den Standort dieser Markierungen zu finden, und diese Markierungen können viele Kategorien haben (deshalb konnte ich eine zusammengeführte Tabelle nicht benutzen). Und wenn der Benutzer auf den Marker klickt, zeigt das Infofenster die Informationen zum Marker an und zeigt sie an. Früher enthielt es nur einen Text der Kategorien, aber ich möchte das Symbol aus jeder Kategorie abrufen, um es im Infofenster anzuzeigen. Die zweite Abfrage dauert länger als die Zeit, die zum Anzeigen des Infofensters benötigt wird. Also habe ich eine lame fix, ichGoogle maps infowindow events auf öffnen

hinzugefügt
$('#infoWindowsCatDer').append(info); 

am Ende der zweiten Abfrage, so dass ich denke, das Problem zu sehen, was passiert, wenn die Fenster ein wenig länger dauern als die Abfrage angezeigt werden soll. Dies ist etwas, das von Ereignissen behandelt werden sollte, oder?

Gibt es ein Ereignis für

lastWindow.open(map); 

Also, wenn das Infofenster vollständig geöffnet ist, kann es die Bilder anhängen?

+0

Sie haben genug technische Details nicht Anbieter über was du versuchst. Insbesondere, wie führen Sie Ihre zweite Abfrage aus? Verwenden Sie die Fusion Table JSON API? –

Antwort

30

Das InfoWindow-Objekt löst das Ereignis domready -Ereignis aus, wenn es an das DOM angehängt (vollständig geladen) wird. Sie können dies in der API-Dokumentation finden Sie unter: https://developers.google.com/maps/documentation/javascript/reference#InfoWindow

Sie dann einen Hörer wie unten Inhalt in die Infowindow geladen haben könnte, nachdem es sich geladen hat:

google.maps.event.addListener(referenceToInfoWindow, 'domready', function(){ 
    //code to dynamically load new content to infowindow 
    //for example: 
    // var existing_content = referenceToInfoWindow.getContent(); 
    // var new_content = "..."; 
    // referenceToInfoWindow.setContent(existing_content + new_content); 
}); 
+0

Danke Mann, ich wünschte, du hättest das früher gesehen, lol, danke –

+0

Habe ich deine Frage beantwortet? Oder fehlt noch etwas? –

+0

Ich habe noch nicht versucht, aber ich teste es gerade jetzt –

Verwandte Themen