首页 文章

使用Google Map 同步获取10000坐标

提问于
浏览
-1

我想使用Google Maps地理编码API获取10,000行数据的坐标,并将每行打印到浏览器 .

我的方法是循环每一行(包含地址)并将其传递给谷歌 Map URL,然后我解析这些JSON数据以获得其lat和lng . 我使用jQuery .

但这里的问题是它似乎是异步运行的 . 我试图使用递归但它循环没有打印任何东西 . 我已经读过设置async = false但我不知道放在哪里 .
这是我目前的代码

var x = 1;
    setInterval(function(){
        geturl = 'parse.php?urut='+x;
        $.get(geturl, function(get){
            url = get;
        });
        $.getJSON(url, function(data){
            var lat = data.results[0].geometry.location.lat;
            var lang = data.results[0].geometry.location.lng;
            var nama = data.results[0].address_components[1].long_name;
            $('table').append("<tr><td>"+x+"</td><td>"+lat+","+lang+"</td><td>"+nama+"</td></tr>");
        });
        x++;
    }, 500);

有什么建议?

1 回答

  • 0

    这段代码应该会告诉你哪里出错了

    function getCoords(x) {
        geturl = 'parse.php?urut='+x;
        $.get(geturl, function(url){
            $.getJSON(url, function(data){
                var lat = data.results[0].geometry.location.lat;
                var lang = data.results[0].geometry.location.lng;
                var nama = data.results[0].address_components[1].long_name;
                $('table').append("<tr><td>"+x+"</td><td>"+lat+","+lang+"</td><td>"+nama+"</td></tr>");
            });
       });
    }
    

    $ .getJSON作为$ .get成功函数的一部分运行 - 因此只有在$ .get完成后它才会运行

    我已经将它显示为一个函数,因此 x 的值在 $('table').append 行中是正确的

相关问题