2013-02-19 13 views
5

Ich versuche, die latlng Koordinaten einer Polylinie und Polygon zu erhalten. Nachdem ich die Zeichnung eines der Objekte fertiggestellt habe, möchte ich das latlng in einer Datenbank speichern, aber im Moment versuche ich nur, das latlng in einem Textfeld zu zeigen. Ich habe das leicht genug für Marker, Rechtecke und Kreise gemacht, aber die Terminologie für Polylinien und Polygone verwirrte mich. Wenn ich die Zeichnung vervollständige, benutze ich einen addDomListener (drawingManager, 'polygoncomplete', ... für Polyonen und dann iteriere durch alle Polygone, die ich gezeichnet habe. Für jedes Polygon iteriere ich dann durch sein Array von Coorden. Ich habe diese Foren-Datenbank durchsucht und versuchte, das Bermuda-Dreieck Beispiel auf der Google-Dokumentationsseite. Bermuda Example ich habe im Laufe der Dokumentation viele Male gelesen und kann einfach nicht sehen, was mir fehlt. Jede Hilfe sehr geschätzt wird.getpaths() Polygone Google Maps api

//Save polygons data to text area 
       var polygons = []; 

       google.maps.event.addDomListener(drawingManager, 'polygoncomplete', function(polygon) { 
        polygons.push(polygon); 
       }); 

       google.maps.event.addDomListener(savebutton, 'click', function() { 
        document.getElementById("savedatapolygon").value = ""; 
        for (var i = 0; i < polygons.length; i++) { 
         var polygonBounds = polygons[i].getPath(); 
         var xy; 
         // Iterate over the polygonBounds vertices. 
         for (var i = 0; i < polygonBounds.length; i++) { 
          xy = polygonBounds.getAt(i); 
          contentString += '<br>' + 'Coordinate: ' + i + '<br>' + xy.lat() +',' + xy.lng(); 
         } 
         document.getElementById("savedatapolygon").value += "polygon("; 
         document.getElementById("savedatapolygon").value += contentString; 
         document.getElementById("savedatapolygon").value += ")"; 

        } 
     }); 
+0

Welche Javascriptfehler erhalten Sie? [Dieses Beispiel] (http://www.geocodezip.com/blitz-gmap-editor/test5.html) könnte Ihnen dabei helfen, alle Objekte aus dem DrawingManager als JSON oder KML zu exportieren. – geocodezip

+0

perfekt! Das wird mir viel Zeit sparen. Ich habe Textpad bei der Arbeit verwendet, weil das alles ist, was ich für mich habe und ich nichts anderes herunterladen kann, so kann ich keine Fehler verfolgen:/ – ddalbus

+0

Die meisten Browser haben eine Javascript-Konsole, die Fehler meldet, ist es einfacher mit einem Debugger, aber das Sehen gemeldete Fehler sind manchmal alles was Sie brauchen. – geocodezip

Antwort

16

die Google Maps Polygon-Klasse gibt eine MVCArray Sie müssen die forEach-Methode der MVCArray verwenden, um diese Schleife zu durchlaufen

var polygonBounds = polygons[i].getPath(); 
// Iterate over the polygonBounds vertices. 
polygonBounds.forEach(function(xy, i) { 
    contentString += '<br>' + 'Coordinate: ' + i + '<br>' + xy.lat() +',' + xy.lng(); 
}); 
document.getElementById("savedatapolygon").value += "polygon("; 
document.getElementById("savedatapolygon").value += contentString; 
document.getElementById("savedatapolygon").value += ")";