javascript - 将回调与 Google Fusion Tables 一起使用

标签 javascript callback google-fusion-tables

我正在使用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/

相关文章:

javascript - 在 jQuery 中,IE 对象不支持这个属性或方法,有人可以帮忙吗?

javascript - 没有收到有关 AJAX 成功的警报

javascript - 等待回调和我们的结果数据从该函数中取出另一个进程

node.js - 使用 module.exports 的 NodeJS 回调

php - 将 Oauth 2.0 访问 token 传递给 PHP 中的 Fusion Tables API 时出现无效凭据错误

javascript - 以编程方式更改 FusionTablesLayer 的颜色

c# - WebBrowser 控件 : window. 外部访问数组

Javascript/DOM,解析键/值字符串

javascript - 我的回调函数似乎没有填充我的数组?

java - 执行 ImportRows 时的 fusiontables NPE