我正在使用javascript来查询this谷歌融合表,不明白如何从我的函数返回值。
function fusionTableQuery(){
var result;
var queryurl = "http://www.google.com/fusiontables/api/query?sql=";
var sql = "SELECT+City+FROM+2175264+WHERE+Population>200000";
var querytail = "&jsonCallback=?";
var jqxhr=$.get(queryurl + sql + querytail, result =
function queryHandler(data) { // display retrieved data
console.log(data.table.rows);
return data.table.rows;
}
, "jsonp")
return result;
}
我能够在 console.log()
输出中看到我想要看到的值,但我对回调的工作原理没有清楚的了解。
我想要的是将查询结果存储在变量中,类似于以下内容:
cities = fusionTableQuery()
您能帮助我更好地了解如何实现这一目标吗?我很难理解回调应该如何在这里工作。或者,如果不需要,我也很乐意不在这里使用回调。
最佳答案
以下是您可以执行的操作:
var cities;
function createSidebar(searchStr) {
//searchStr is your query -> SELECT * FROM table ...
var queryText = encodeURIComponent(searchStr);
var query = new google.visualization.Query('http://www.google.com/fusiontables/gvizdata?tq=' + queryText);
query.send(getData); //set the callback function
}
function getData(response) {
cities = response.getDataTable();
}
关于javascript - 将回调与 Google Fusion Tables 一起使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8990337/