1

folgende Code-Schnipsel gibt mir Ausgabe als (im Grunde auf jedem Klick eine neue Markierung hinzugefügt wird, und ich bin zu holen, es ist lat und lange Werte):AngularJS Google Maps API Zeichnung Linienzug

0: Latitude: 40.207196906764054 Longitude: -99.68994140625 
1: Latitude: 40.202477129519124 Longitude: -99.60823059082031 

Code-Snippet:

$scope.map.markers.push(marker); 
// console.log($scope.map.markers); 

for (var item in $scope.map.markers) { 
    console.log(item +': '+ "Latitude: " + $scope.map.markers[item].coords.latitude + " " + "Longitude: " + $scope.map.markers[item].coords.longitude); 
} 

um eine Polylinie zeichne ich Array müssen in einem solchen Format:

var flightPlanCoordinates = [ 
{lat: 37.772, lng: -122.214}, 
{lat: 21.291, lng: -157.821}, 
{lat: -18.142, lng: 178.431}, 
{lat: -27.467, lng: 153.027} 
]; 

ich möchte grundsätzlich Linien zeichnen al auf diese Marker. Wie kann ich eine solche Struktur innerhalb meiner for-Schleife konstruieren, um diese Lat- und Long-Werte hinzuzufügen, die ich der Variable 'Path' für Polilines zuführen kann?

+0

Funktioniert der 'for (var-Eintrag in $ scope.map.markers) {' Zyklus für Sie? Druckt es die Koordinaten, die es sollte? oder brauchst du auch Hilfe bei diesem Teil? –

+0

Ja, es gibt mir Ausgabe wie im ersten Screenshot gezeigt, die Liste wird bei jedem Klick weiter zunehmen – Nitish

Antwort

1

sollten Sie in der Lage sein, um Schleife die Marker Trog und deren Koordinaten in ein leeres Array hinzufügen (vorausgesetzt, die für den Zyklus Sie gezeigten Werke):

var myCoordinates = []; 
for (var item in $scope.map.markers) { 
    myCoordinates.push({lat: $scope.map.markers[item].coords.latitude, lng: $scope.map.markers[item].coords.longitude}); 
} 

und dann myCoordinates Array verwenden die gleiche Weise flightPlanCoordinates verwenden würden, Um eine Polylinie zu erstellen, zB:

var myPolyline = new google.maps.Polyline({ 
    path: myCoordinates, 
    geodesic: true, 
    strokeColor: '#FF0000', 
    strokeOpacity: 1.0, 
    strokeWeight: 2, 
    map: map 
}); 
+0

Es funktioniert perfekt! Vielen Dank! Eine weitere Frage kann ich als separate Frage stellen, wenn die Antwort groß ist: Wäre es in diesem speziellen Fall möglich, mit dem Code, den ich geschrieben habe, zu verbinden, sagen wir drei oder eine bestimmte Anzahl von Markern, um ein Polygon und einen entsprechenden Bereich zu bilden kann berechnet werden? – Nitish

+0

Polygon war auch eine einfache Lösung, nur die offizielle Dokumentation verwiesen. Es hat perfekt funktioniert. – Nitish