我真的需要你的帮助。我有一些没有表现的javascript代码,我认为它与范围和时间有关,基于这个问题here的答案。
我对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/
谢谢你们给予的任何帮助。