0

我真的需要你的帮助。我有一些不正常的 javascript 代码,我相信它与基于此问题的答案的范围和时间有关

我对javascript编程相当陌生,所以我并不像我想要的那样精通。我一直在查看我的代码,但我似乎无法弄清楚我的问题出在哪里。

function getCurrentAddress(marker) {
    currentAddress = "Address: ";
    geocoder.geocode({'latLng':marker.getPosition()}, function(results,status) {
        console.log(results[1]);
        if (status == google.maps.GeocoderStatus.OK) {
            if (results[1])
                currentAddress += results[1].formatted_address;
                console.log(currentAddress);
        } else {
            currentAddress = "Geocoder failed due to: " + status;
        }
    });
    console.log(currentAddress);
    return currentAddress;
}

我的问题在于,当我第一次查询contactAddress变量时,它会从地理编码的结果中返回格式化的地址。但是,当在contactAddress返回之前查询 时,该值仅仅是默认值"Address: "

此外,当我检查页面时,返回上方的语句发生在地理编码结果之前。我的函数在调用内部匿名函数之前是否返回?如果是这样,我该如何解决?

我尝试将 return 语句移动到地理编码函数中,但所做的只是阻止我的 InfoWindows 出于某种原因打开。

我试图制作一个 jsfiddle 来帮助你们看看我在做什么,但它从来没有完全正确,但在这里它都是一样的http://jsfiddle.net/pxv2c/

感谢你们提供的任何帮助。

4

0 回答 0