0

我一直在抨击这一点太久了——可能已经到了遗漏一些完全明显的东西的地步。

我正在尝试生成一个条形图,显示该融合表中每个州的公共厕所数量 - https://www.google.com/fusiontables/DataSource?docid=1Acf5-fZ1fbRrbsCthOSu2q5s0PmMFBVFI8tuCg - 显然没有什么可以轻松计算这对我来说,所以我必须通过查询来完成。

这是我到目前为止的代码......

var dataURL = 'http://www.google.com/fusiontables/gvizdata?tq=';
var query = "SELECT state, COUNT() " +
"FROM 1Acf5-fZ1fbRrbsCthOSu2q5s0PmMFBVFI8tuCg GROUP BY state";
var queryText = encodeURIComponent(query);
var gvizQuery = new google.visualization.Query('http://www.google.com/fusiontables/gvizdata?tq='  + queryText);
gvizQuery.send(function(response) {
    if(response.isError()){
        alert('Error in query: ' + response.getMessage() + ' ' + response.getDetailedMessage());
        return;
    }
    data = response.getDataTable();
//This bit below is to see what I'm getting in the data table   
for(i in data){
        document.getElementById('visualization').innerHTML += data[i];
    }
var chart = google.visualization.BarChart(document.getElementById('visualization'));
var options = {
    title: 'Toilets by State',
    vAxis: {title: 'State',  titleTextStyle: {color: 'red'}},
    };
chart.draw(data, options);
});

当我尝试运行它时,我从 format+en,default,corechart.I.js:824 中得到“TypeError: 'undefined' is not a function (evalating 'thispc')” - 我无法确定。当我将数据表抽出到页面时,我得到了通常的 [object Object] 系列,后面有一大块 Javascript——这对我来说看起来很奇怪。

任何建议 - 或任何人都可以看到的明显错误?

4

1 回答 1

0

Fusion Tables 可以为您进行聚合,如下所示: https ://www.google.com/fusiontables/DataSource?snapid=S568510O6Lf

然后 Visualize > Bar 和“Get embeddable link”:

或者,通过 gviz API(示例代码)使用聚合 (GROUP BY) 查询以获得更多控制。

-丽贝卡

于 2012-07-04T03:30:22.500 回答