2017-01-23 4 views
-1

Ich benutze RC3 und ich habe eine Variable eines Objekts festgelegt und dies wird nicht auf der Ansicht aktualisiert. Ich erhalte ein Objekt von Google, das einige Zeit zum Abrufen benötigt.Ansicht wird nicht mit neuen variablen Daten aktualisiert

In den Pre-RC-Versionen würde die Ansicht automatisch aktualisiert, wenn Google das Ergebnis zurücksendet.

Genau hier ist der Code, den ich verwende, um ein Objekt von Google abzurufen. Der Konsolenausdruck zeigt die von Google zurückgegebenen Daten an, aber die Ansicht wird nicht aktualisiert, um die Änderung darzustellen.

var service = new google.maps.DistanceMatrixService; 
service.getDistanceMatrix({ 
    origins: [p1], 
    destinations: [p2], 
    travelMode: google.maps.TravelMode.DRIVING, 
    unitSystem: google.maps.UnitSystem.METRIC, 
    avoidHighways: false, 
    avoidTolls: false 
}, function(response, status) { 
    if (status !== google.maps.DistanceMatrixStatus.OK) { 
     alert('Error: ' + status); 
     let googDist = google.maps.geometry.spherical.computeDistanceBetween(p1, p2); 
     return Math.round(googDist/1000 *10)/10; 
    } else { 
     //console.log(response.rows[0].elements[0].distance.text); 
     this.car.drivingDistance = response.rows[0].elements[0].distance.text; 
    } 
}); 
console.log(this.car.drivingDistance); 

Die Konsole zeigt das Ergebnis von Google, aber die Ansicht nicht aktualisiert.

Danke Jungs.

+0

den Template-Code Bitte teilen –

+0

die Daten angezeigt werden {{}} car.drivingDistance – Josh

+0

Ziemlich einfach Angular Sachen. Sehe nicht, wie es der Frage hilft – Josh

Antwort

0
var service = new google.maps.DistanceMatrixService; 
service.getDistanceMatrix({ 
    origins: [p1], 
    destinations: [p2], 
    travelMode: google.maps.TravelMode.DRIVING, 
    unitSystem: google.maps.UnitSystem.METRIC, 
    avoidHighways: false, 
    avoidTolls: false 
}, (response, status) => { 
    if (status !== google.maps.DistanceMatrixStatus.OK) { 
     alert('Error: ' + status); 
     let googDist = google.maps.geometry.spherical.computeDistanceBetween(p1, p2); 
     return Math.round(googDist/1000 *10)/10; 
    } else { 
     //console.log(response.rows[0].elements[0].distance.text); 
     return response.rows[0].elements[0].distance.text; 
    } 
}); 

Aufruf von Funktionen wie dies in Typoskript ersetzt mit () => { }

Verwandte Themen