【发布时间】:2013-07-22 07:35:57
【问题描述】:
我正在尝试使用此函数将传递给它的字符串地理编码为谷歌地图结果。
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 语句,尽管我在那里设置了一个断点。
我是否试图以错误的方式做到这一点?我该如何解决这个问题?
【问题讨论】:
-
提示:将断点放在回调中。提示2:为什么库要回调?
-
知道了。它终于奏效了。谢谢。
标签: javascript google-maps geocoding