So verfolgen Sie Ereignisänderungen in einem Polygon mit Google Maps API

7

Ich erstelle gerade eine Funktion "Suche nach einem Bereich" für eine Website, an der wir gerade arbeiten. Ein bisschen wie das auf Rightmove .

Ich habe alles eingerichtet, außer der Möglichkeit, Ereignisänderungen in einem Polygon zu verfolgen (die Einstellung neuer Punkte und die Änderung bestehender Punkte). Ich muss in der Lage sein, die Koordinaten auf dem Formular für die Einreichung zu veröffentlichen.

Ich habe die Google-Code-Dokumentation für Bearbeitungsereignisse ausprobiert. Und jedes Mal, wenn ich es ausprobiere, erhalte ich entweder eine Nachricht, dass 'set_at' nicht möglich ist oder mein Objekt nicht definiert ist.

Ich nehme an, das Bit, von dem ich weiß, dass es falsch ist, wird thePolygon Variable nicht an das neue google.maps.event.addListener(thePolygon, 'set_at', function() { // grab paths for infoWindow grabPaths(thePath); });

weitergegeben

Aber ich weiß nicht warum. Es ist eine globale Variable. Oder nicht?

Die Frage ist also, wie kann ich die Änderungen am Polygon verfolgen, um die aktualisierten Koordinaten an mein Formular zu übergeben?

Alle Hilfe wird sehr geschätzt.

Hier ist der Code, den ich momentan habe:

%Vor%     
Jonny Haynes 27.02.2013, 14:47
quelle

1 Antwort

22

Diese Ereignisse sind für MVCArray definiert, eine Polylinie ist kein MVCArray. Sie müssen stattdessen die Ereignisse für die path der Polylinie (die ein MVCArray ist) beobachten. Außerdem können Sie einem Objekt, das noch nicht erstellt wurde, keinen Listener hinzufügen. Das Polygon ist nicht vor polygoncomplete verfügbar, daher müssen Sie die Listener innerhalb des polygonecomplete-Callbacks hinzufügen:

%Vor%     
Dr.Molle 28.02.2013, 21:26
quelle