我有一个 javascript 函数,它应该返回一个字符串的地理编码:
function codeAddress(address) {
var result = (new google.maps.Geocoder()).geocode( { 'address': address}, function(results, status) {
if (status == google.maps.GeocoderStatus.OK) {
return String(results[0].geometry.location.Ya)+','+String(results[0].geometry.location.Za)
} else {
return status;
}
});
console.log(result);
return result
}
但是它返回“未定义”。我理解这里的错误,即由于 javascript 是异步的,它甚至在完全执行codeAddress
之前就从函数返回。function(results, status)
但我需要知道这里的解决方案和最佳实践。