返回值的Javascript和Jquery问题?
这是我的代码:返回值的Javascript和Jquery问题?,javascript,jquery,google-api,return,geocode,Javascript,Jquery,Google Api,Return,Geocode,这是我的代码: $( document ).ready(function() { var geocoder = new google.maps.Geocoder(); var lat= true; var lng = true; function codeAddress(address) { geocoder.geocode( { 'address': address}, function(results
$( document ).ready(function() {
var geocoder = new google.maps.Geocoder();
var lat= true;
var lng = true;
function codeAddress(address) {
geocoder.geocode( { 'address': address}, function(results, status) {
if (status == "ZERO_RESULTS"){
var lat = 0;
var lng = 0;
}else if (status == "OK"){
var lat = results[0].geometry.location.lat();
var lng = results[0].geometry.location.lng();
}
});
return lat + "+" + lng; /// here i want to return lat & lng
}
var nr = $("#get_array").text();
var my_array = $("#get_array").attr("class");
my_array = my_array.split("|");
var string = "";
for(var i = 0; i < nr; i++){
item = codeAddress(my_array[i]);
//string = string + item + "|";
}
});
$(文档).ready(函数(){
var geocoder=new google.maps.geocoder();
var lat=真;
var lng=真;
函数代码地址(地址){
geocoder.geocode({'address':address},函数(结果,状态){
如果(状态=“零结果”){
var-lat=0;
var lng=0;
}否则如果(状态=“正常”){
var lat=results[0]。geometry.location.lat();
var lng=results[0]。geometry.location.lng();
}
});
return lat++“++”+lng;///这里我想返回lat&lng
}
var nr=$(“#获取数组”).text();
var my_array=$(“#get_array”).attr(“类”);
my_array=my_array.split(“|”);
var字符串=”;
对于(变量i=0;i
在我写评论的地方,我想返回lat&lng值,但它是空的。为什么?如何返回lat和lnb变量?thx我认为您的两个条件都是错误的。
geocode
是异步的。你不能像你想做的那样从中返回值。还有其他可行的方法吗?你可以使用codeAddress
将结果添加到一个数组中,并返回一个延迟对象(将每个对象推到一个数组中),然后在所有地理代码完成后使用访问结果数组。@Andy你能举个例子吗?