我使用Google Maps API獲取2個英國郵政編碼之間的距離。2個郵政編碼之間的距離
var yourPostcode = $("#YourPostcode").val();
var restaurantPostcode = $("#Postcode").val();
var point1 = GetPointFromPostcode(yourPostcode);
var point2 = GetPointFromPostcode(restaurantPostcode);
var distance = point1.distanceFrom(point2, 3959).toFixed(1);
然而,用GetPoint函數調用谷歌API異步,因此通過的時間距離計算點1和2都沒有設置(我相信這是發生了什麼事?)
我也把警報後各語句來檢查變量的值,並做到這一點我得到的距離是正確的值,等待我點擊確定必須給它足夠的時間來獲得結果?雖然它並沒有這樣做了:(
這裏是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;
}
我知道我可以在本地搜索時,結果回來,但這裏的問題是被稱爲設置回調有2個搜索。
我想是隻調用計算距離行後兩種搜索已返回結果。
你知道我怎麼能做到這一點?
謝謝