Ich benutze Google Maps API, um die Distanz zwischen 2 UK Postleitzahlen zu berechnen.Entfernung zwischen 2 PLZ (Vereinigtes Königreich)
var yourPostcode = $("#YourPostcode").val();
var restaurantPostcode = $("#Postcode").val();
var point1 = GetPointFromPostcode(yourPostcode);
var point2 = GetPointFromPostcode(restaurantPostcode);
var distance = point1.distanceFrom(point2, 3959).toFixed(1);
jedoch die GetPoint Funktion ruft Google API asynchron und so durch den zeitlichen Abstand wird point1 berechnet und 2 nicht eingestellt worden ist (ich glaube, das ist das, was geschieht?)
Ich habe Warnungen nach jedem auch Anweisung, um den Wert der Variablen zu überprüfen und dabei habe ich Abstand, um den richtigen Wert zu sein, warten auf mich zu klicken, ok muss genug Zeit gegeben haben, um die Ergebnisse zu erhalten? Obwohl es dies mehr nicht tun :(
Hier ist die Funktion get Punkt
function GetPointFromPostcode(postcode) {
var point;
localSearch.execute(postcode + ", UK");
if (localSearch.results[0]) {
var resultLat = localSearch.results[0].lat;
var resultLng = localSearch.results[0].lng;
point = new GLatLng(resultLat, resultLng);
} else {
$(".PostcodeError").append("Postcode Invalid");
}
return point;
}
Ich weiß, dass ich für einen Rückruf auf dem lokalen Suche festlegen kann aufgerufen werden, wenn die Ergebnisse zurückkommen, aber das Problem ist hier gibt es 2 sucht.
Was ich will nur die Entfernung berechnen Linie rufen, nachdem beide Suchergebnisse zurückgekehrt.
wissen Sie, wie ich dies tun könnte?
Dank