2012-06-13 22 views
5

Ich arbeite mit dem Zeichnungsmanager in der Zeichnungsbibliothek und eine Frage entstand. Jede Hilfe würde sehr geschätzt werden. Danke im Voraus.Google Maps API v3: Zeichnungsmanager

Frage: Nachdem ein Objekt (Marker, Kreis, etc ...) erstellt wurde, wie würde ich es nennen? Ein Beispiel wäre, dass ich einen Marker platziert habe. Ich möchte jetzt ein Info-Fenster anhängen. In der Funktion zum Zuweisen eines Infofensters benötige ich den "Namen" des gerade platzierten Markers.

Lassen Sie mich wissen, wenn Sie weitere Erläuterungen benötigen.

-Seth

Antwort

5

Sie können einen Ereignis-Listener verwenden, um einen Verweis auf das erstellte Objekt zu erhalten (event.overlay). In this demo werden die erstellten Markierungen erstellt, um das InfoWindow mit dem Inhalt zu öffnen, der im Marker selbst gespeichert ist.

Klicken Sie, um Markierungen zu erstellen, wechseln Sie dann in den Symbolmodus "Hand" und klicken Sie auf Markierungen, um das InfoWindow zu öffnen.

var markers = []; 
    var infowindow = new google.maps.InfoWindow(); 

    function initialize() { 
    map = new google.maps.Map(document.getElementById("map_canvas"), myOptions); 
    drawingManager.setMap(map); 
    google.maps.event.addListener(drawingManager, 'overlaycomplete', function(event) { 
     if(event.type == google.maps.drawing.OverlayType.POLYLINE) { 
     alert("polyline complete"); 
     } 
     else if(event.type == google.maps.drawing.OverlayType.MARKER) { 
     var newMarker = event.overlay; 
     newMarker.content = "marker #" + markers.length; 
     google.maps.event.addListener(newMarker, 'click', function() { 
      infowindow.setContent(this.content); 
      infowindow.open(map, this); 
     }); 
     markers.push(newMarker); 
     } 
    }); 
    } 
+0

Wissen Sie, wie wir einen Marker und eine Polylinie gleichzeitig zeichnen können? Also mit der zweiten Markierung wird die Polylinie gezeichnet? Grüße – alex

+0

Das Jfiddle funktioniert nicht mehr. – whoan