2013-08-04 52 views
2

我想弄清楚如何使用新的Fusion Table API v1從Javascript函數內查詢表。我希望能夠循環遍歷結果,逐行並在我去的時候做其他事情(在這種情況下是地理編碼地址)。查詢API v1中的JavaScript函數的Fusion Table

我有查詢工作正常的語法。當我將它粘貼到瀏覽器中時,它會返回正確的結果。

我無法弄清楚是如何使擺在首位的要求,並得到結果,我可以使用它。

這篇文章是接近想什麼,我做的,但它使用舊的API:http://www.reddmetrics.com/2011/08/10/fusion-tables-javascript-query-maps.html

function getData() { 
    // Builds a Fusion Tables SQL query and hands the result to dataHandler 

    var queryUrlHead = 'https://www.googleapis.com/fusiontables/v1/query?sql='; 
    var queryUrlTail = '&key={my key}'; 
    Table = {my table id}; 

    // write your SQL as normal, then encode it 
    var query = "SELECT Address, Name FROM " + Table + " LIMIT 5"; 
    var queryurl = encodeURI(queryUrlHead + query + queryUrlTail); 

    var jqxhr = $.get(queryurl, dataHandler, "jsonp"); 
} 

也許不需要jQuery的新API?

+0

那麼是什麼我不知道的是,我需要使用這樣的事情在我的網頁上啓用jQuery的: 通過google訪問它! –

+0

其中一個Google示例似乎是在查詢本身中調用回調函數,使用以下代碼:「&callback = handler」。有沒有人有過這方面的經驗?它與jquery有什麼不同?有什麼優勢? –

+0

回調=處理程序用於[JSONP](http://stackoverflow.com/questions/2067472/what-is-jsonp-all-about)。你可以自己做,也可以讓jQuery小心(jQuery也使用JSONP)。 – Odi

回答

1

您提供的代碼沒問題,它按預期工作(對我而言)。我創建了一個jsFiddle to show you an example usage

所有你需要做它指定一個名爲dataHandler因爲這個功能是什麼,你告訴jQuery的作爲回調使用。即jQuery調用的結果是,它調用你指定的函數。

要開始我建議讓你的Fusion Table公開。這樣,你可以探索API的使用,而無需擔心身份驗證等

function dataHandler(response) { 
    console.log(response); 
    //do something with the data using response.rows 
} 

function getData() { 
    // Builds a Fusion Tables SQL query and hands the result to dataHandler 

    var queryUrlHead = 'https://www.googleapis.com/fusiontables/v1/query?sql='; 
    var queryUrlTail = '&key={my key}'; 
    Table = {my table id}; 

    // write your SQL as normal, then encode it 
    var query = "SELECT Address, Name FROM " + Table + " LIMIT 5"; 
    var queryurl = encodeURI(queryUrlHead + query + queryUrlTail); 

    var jqxhr = $.get(queryurl, dataHandler, "jsonp"); 
} 

如果只是用console.log來分析你的Fusion Tables得到的迴應(按F12在瀏覽器中打開控制檯/開發人員工具),您會看到您的對象具有columnsrows屬性,就像您可以按照自己喜歡的方式使用數據一樣。我上面的例子只是打印檢索數據的HTML表格。

如果你的查詢有錯誤或者無法訪問的error屬性設置有根據的錯誤消息。

+0

感謝Odi,你的例子和jsFiddle本身非常有幫助。一旦我在那裏工作,我意識到問題出在我的頁面上,這導致我(最終!)發現我需要啓用jquery(請參閱上面的註釋)。 –

相關問題