0
我有一個函數返回有效地址的座標,但即時通訊有一些困難,它是一個無效地址。 我希望得到pos1的空值,如果geocode找不到有效的地址,我在函數中設置該值。但是我得到了未定義的,我知道我在做一些非常愚蠢的事情,但只是不知道它是什麼。當值設置爲空時返回undefined的函數
function fnCalculate(){
var pos1=getCordinates(document.getElementById("address1").value));
alert(pos1);
}
function getCordinates(address){
var loc;
if(address){
geocoder.geocode({ 'address': address}, function(results, status) {
if (status == google.maps.GeocoderStatus.OK) {
loc=results[0].geometry.location;
}
else {
loc=null;
}
});
}
return loc;
}
[通用AJAX是異步鏈接](HTTP://問題/ 6009206/what-is-ajax-and-how-does-it-work) – Raynos 2011-06-07 12:45:28
感謝您的答案,是否有可能將該結果返回給變量? – manraj82 2011-06-07 13:14:45
不,不是真的。回調函數由該「.geocode()」方法調用,或者由其XHR回調函數間接調用,所以它不會關注你的返回值(除非它是爲了自己的目的)。異步環境要求您以與編寫普通程序代碼時不同的方式思考通過代碼的控制流。 – Pointy 2011-06-07 13:18:12