Korzystam z interfejsu Google Maps API, aby uzyskać odległość między dwoma brytyjskimi kodami pocztowymi.odległość między 2 kodami pocztowymi
var yourPostcode = $("#YourPostcode").val();
var restaurantPostcode = $("#Postcode").val();
var point1 = GetPointFromPostcode(yourPostcode);
var point2 = GetPointFromPostcode(restaurantPostcode);
var distance = point1.distanceFrom(point2, 3959).toFixed(1);
Jednak funkcja GetPoint wzywa Google API asynchronicznie i tak przez odległości czasowej oblicza punkt 1 i 2 nie zostały ustalone (Wierzę, że to, co się dzieje?)
ja również umieścić powiadomienia po każdym oświadczenie, aby sprawdzić wartość zmiennych i robi to dostałem odległość, aby być prawidłową wartością, czekając na mnie, aby kliknąć OK musi mieć wystarczająco dużo czasu, aby uzyskać wyniki? Choć nie ma tego robić :(
Tutaj jest funkcja punktu get
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;
}
wiem, że mogę ustawić zwrotnego na lokalnym poszukiwaniu nazywać kiedy wyniki wrócić, ale problemem jest to, istnieją 2 wyszukiwań.
Co chcę jest tylko zadzwonić do linii oblicz odległość po obu wyszukiwań wrócili wyników.
Czy wiesz, w jaki sposób mogę to zrobić?
Dzięki