我有这个功能:
function findAddressViaGoogle(address){
var geocoder = new google.maps.Geocoder();
geocoder.geocode( { 'address': address }, function(results, status) {
if (status == google.maps.GeocoderStatus.OK) {
return results[0].formatted_address;
} else {
console.log("Unable to find address: " + status);
}
});
}
如何从此功能打印返回的值?
如果我这样做:
$('#location-suggest').text('Do you mean <a>'+findAddressViaGoogle($(this).val())+'</a> ?');
打印未定义的
答案 0 :(得分:2)
您在寻找document.write吗?
答案 1 :(得分:2)
像这样:
$(".putYourSelectorHere").html(findAddressViaGoogle())
将.putYourSelectorHere
替换为您的选择器(例如#output
)。如果要在体内打印结果,请使用body
选择器:
$("body").html(findAddressViaGoogle())
答案 2 :(得分:2)
在Geocoder()
内的某个地方调用回调,并且在findAddressViaGoogle()
函数内未收到回传值。
您可以初始化变量并将值传递给它:
function findAddressViaGoogle(address){
var address = "";
var geocoder = new google.maps.Geocoder();
geocoder.geocode( { 'address': address }, function(results, status) {
if (status == google.maps.GeocoderStatus.OK) {
address = results[0].formatted_address;
} else {
console.log("Unable to find address: " + status);
}
});
return address;
}
var myAddress = findAddressViaGoogle('foobar');
alert(myAddress);
另外,请记住,必须先调用函数才能返回任何内容。
所以要传递收集的值:
$('#myElementID').html(findAddressViaGoogle('foobar'));