Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/410.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
返回值的Javascript和Jquery问题?_Javascript_Jquery_Google Api_Return_Geocode - Fatal编程技术网

返回值的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你能举个例子吗?