Google 来自电子表格的 Geochart 动态值
Google Geochart dynamic values from spreadsheet
这有点超出我的能力,我想我只是遗漏了一个小细节。我正在尝试获取美国的热图(Google 地理图表)以根据 Google 电子表格中的数字动态更新。
我有一个工作示例
<script type="text/javascript" src="https://www.google.com/jsapi?autoload={'modules':[{'name':'visualization','version':'1.1','packages':['geochart']}]}"></script>
<div id="geochart-colors" style="width: 100%; height: 100%;"></div>
<script type="text/javascript">
google.setOnLoadCallback(drawRegionsMap);
function drawRegionsMap() {
var data = google.visualization.arrayToDataTable([
['State', 'Pledge'],
['Wyoming', 5],
['Alasak', 10],
['Arizona', 15],
['Nevada', 20],
['Colorado', 25],
['Algeria', 7],
['Algeria', 17],
['Idaho', 27],
['Algeria', 13],
['Montana', 3],
['Utah', 33],
['California', 30],
['Oregon', 27],
['Washington', 13],
['New Mexico', 10],
['Texas', 13],
['Kansas', 10]
]);
var options = {
region: 'US',
displayMode: 'regions',
resolution: 'provinces',
colorAxis: {
colors: ['#444444', '#f70000']
},
backgroundColor: '#222222',
datalessRegionColor: '#333333',
defaultColor: '#333333',
legend: 'none'
};
var chart = new google.visualization.GeoChart(document.getElementById('geochart-colors'));
chart.draw(data, options);
};
</script>
但是,当我尝试将地理图表的来源切换为从 Google 文档中提取时,没有任何内容弹出,如此处所示
<script type="text/javascript" src="https://www.google.com/jsapi?autoload={'modules':[{'name':'visualization','version':'1.1','packages':['geochart']}]}"></script>
<div id="geochart-colors" style="width: 100%; height: 100%;"></div>
<script type="text/javascript">
google.setOnLoadCallback(drawRegionsMap);
function drawRegionsMap() {
var query = google.visualization.Query('https://docs.google.com/spreadsheets/d/1FxR8f6JujykDpNW1HOZPQoGV3h73e42dpfDCVvOlXdY&sheet=ByState&range=A1:B51&headers=1');
query.setQuery('select A,B');
query.send(handleQueryResponseTR);
function handleQueryResponseTR(response) {
if (response.isError()) {
alert('Error in query: ' + response.getMessage() + ' ' + response.getDetailedMessage());
return;
}
var options = {
region: 'US',
displayMode: 'regions',
resolution: 'provinces',
colorAxis: {
colors: ['#444444', '#f70000']
},
backgroundColor: '#222222',
datalessRegionColor: '#333333',
defaultColor: '#333333',
legend: 'none'
};
var data = response.getDataTable();
var chart = new google.visualization.GeoChart(document.getElementById('geochart-colors'));
chart.draw(data, options);
};
</script>
我不知道我错过了什么。这是我迄今为止构建的所有内容的基础:https://developers.google.com/chart/interactive/docs/gallery/geochart?hl=en
您有几个问题 -- 查询不正确,因为需要将 gid 设置为 sheet 2 而您没有使用 "new" 关键字。注意在 gid 上,导航到 spreadsheet 在线和 select 你想要的 sheet,使用 URL 并且不要尝试使用 sheet 查询select或者。这是行不通的。
我以前做过,示例页面在这里:
http://www.cloudformatter.com/GoogleCharts.GoogleChartSamples.Development.USPopulation
这是我根据你的创建的 fiddle(我添加了一个 table 以查看正在检索的数据以确保):
http://jsfiddle.net/x5rykyhj/4/
google.setOnLoadCallback(drawRegionsMap);
function drawRegionsMap() {
var query = new google.visualization.Query('https://docs.google.com/spreadsheets/d/1FxR8f6JujykDpNW1HOZPQoGV3h73e42dpfDCVvOlXdY/edit?gid=143931468&headers=1&range=A1:B51');
//query.setQuery('select A,B');
query.send(handleQueryResponseTR);
}
function handleQueryResponseTR(response) {
if (response.isError()) {
alert('Error in query: ' + response.getMessage() + ' ' + response.getDetailedMessage());
return;
}
var options = {
region: 'US',
displayMode: 'regions',
resolution: 'provinces',
colorAxis: {
colors: ['#444444', '#f70000']
},
backgroundColor: '#222222',
datalessRegionColor: '#333333',
defaultColor: '#333333',
legend: 'none'
};
var data = response.getDataTable();
var chart = new google.visualization.GeoChart(document.getElementById('geochart-colors'));
var table = new google.visualization.Table(document.getElementById('table_div'));
chart.draw(data, options);
table.draw(data, {
width: '100%', height: '100%'
});
};
结果是:
这有点超出我的能力,我想我只是遗漏了一个小细节。我正在尝试获取美国的热图(Google 地理图表)以根据 Google 电子表格中的数字动态更新。
我有一个工作示例
<script type="text/javascript" src="https://www.google.com/jsapi?autoload={'modules':[{'name':'visualization','version':'1.1','packages':['geochart']}]}"></script>
<div id="geochart-colors" style="width: 100%; height: 100%;"></div>
<script type="text/javascript">
google.setOnLoadCallback(drawRegionsMap);
function drawRegionsMap() {
var data = google.visualization.arrayToDataTable([
['State', 'Pledge'],
['Wyoming', 5],
['Alasak', 10],
['Arizona', 15],
['Nevada', 20],
['Colorado', 25],
['Algeria', 7],
['Algeria', 17],
['Idaho', 27],
['Algeria', 13],
['Montana', 3],
['Utah', 33],
['California', 30],
['Oregon', 27],
['Washington', 13],
['New Mexico', 10],
['Texas', 13],
['Kansas', 10]
]);
var options = {
region: 'US',
displayMode: 'regions',
resolution: 'provinces',
colorAxis: {
colors: ['#444444', '#f70000']
},
backgroundColor: '#222222',
datalessRegionColor: '#333333',
defaultColor: '#333333',
legend: 'none'
};
var chart = new google.visualization.GeoChart(document.getElementById('geochart-colors'));
chart.draw(data, options);
};
</script>
但是,当我尝试将地理图表的来源切换为从 Google 文档中提取时,没有任何内容弹出,如此处所示
<script type="text/javascript" src="https://www.google.com/jsapi?autoload={'modules':[{'name':'visualization','version':'1.1','packages':['geochart']}]}"></script>
<div id="geochart-colors" style="width: 100%; height: 100%;"></div>
<script type="text/javascript">
google.setOnLoadCallback(drawRegionsMap);
function drawRegionsMap() {
var query = google.visualization.Query('https://docs.google.com/spreadsheets/d/1FxR8f6JujykDpNW1HOZPQoGV3h73e42dpfDCVvOlXdY&sheet=ByState&range=A1:B51&headers=1');
query.setQuery('select A,B');
query.send(handleQueryResponseTR);
function handleQueryResponseTR(response) {
if (response.isError()) {
alert('Error in query: ' + response.getMessage() + ' ' + response.getDetailedMessage());
return;
}
var options = {
region: 'US',
displayMode: 'regions',
resolution: 'provinces',
colorAxis: {
colors: ['#444444', '#f70000']
},
backgroundColor: '#222222',
datalessRegionColor: '#333333',
defaultColor: '#333333',
legend: 'none'
};
var data = response.getDataTable();
var chart = new google.visualization.GeoChart(document.getElementById('geochart-colors'));
chart.draw(data, options);
};
</script>
我不知道我错过了什么。这是我迄今为止构建的所有内容的基础:https://developers.google.com/chart/interactive/docs/gallery/geochart?hl=en
您有几个问题 -- 查询不正确,因为需要将 gid 设置为 sheet 2 而您没有使用 "new" 关键字。注意在 gid 上,导航到 spreadsheet 在线和 select 你想要的 sheet,使用 URL 并且不要尝试使用 sheet 查询select或者。这是行不通的。
我以前做过,示例页面在这里:
http://www.cloudformatter.com/GoogleCharts.GoogleChartSamples.Development.USPopulation
这是我根据你的创建的 fiddle(我添加了一个 table 以查看正在检索的数据以确保):
http://jsfiddle.net/x5rykyhj/4/
google.setOnLoadCallback(drawRegionsMap);
function drawRegionsMap() {
var query = new google.visualization.Query('https://docs.google.com/spreadsheets/d/1FxR8f6JujykDpNW1HOZPQoGV3h73e42dpfDCVvOlXdY/edit?gid=143931468&headers=1&range=A1:B51');
//query.setQuery('select A,B');
query.send(handleQueryResponseTR);
}
function handleQueryResponseTR(response) {
if (response.isError()) {
alert('Error in query: ' + response.getMessage() + ' ' + response.getDetailedMessage());
return;
}
var options = {
region: 'US',
displayMode: 'regions',
resolution: 'provinces',
colorAxis: {
colors: ['#444444', '#f70000']
},
backgroundColor: '#222222',
datalessRegionColor: '#333333',
defaultColor: '#333333',
legend: 'none'
};
var data = response.getDataTable();
var chart = new google.visualization.GeoChart(document.getElementById('geochart-colors'));
var table = new google.visualization.Table(document.getElementById('table_div'));
chart.draw(data, options);
table.draw(data, {
width: '100%', height: '100%'
});
};
结果是: