我想使用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 回答
这段代码应该会告诉你哪里出错了
$ .getJSON作为$ .get成功函数的一部分运行 - 因此只有在$ .get完成后它才会运行
我已经将它显示为一个函数,因此
x
的值在$('table').append
行中是正确的