我正在尝试使用此函数将传递给它的字符串地理编码为谷歌地图结果。
function codeAddress(address) {
var firstResult;
geocoder.geocode( { 'address': address}, function(results, status) {
if(status == google.maps.GeocoderStatus.OK) {
firstResult = results[0];
} else {
firstResult = "failed";
}
});
return firstResult;
}
问题是,当我尝试使用 chrome 的调试器对其进行调试并在 ceocoder.geocode 语句的外部和内部插入断点时,我可以清楚地看到程序执行在第三行,但它会跳过内部行并直接执行到返回值(返回一个未定义的值)。其他时候,它会通过其中的 if 语句,但它不会进入 return 语句,尽管我在那里设置了一个断点。
我是否试图以错误的方式做到这一点?我怎样才能解决这个问题?