【发布时间】:2012-06-08 18:18:04
【问题描述】:
我正在尝试通过单击融合表图层/地图来动态绘制图表。每当单击墨西哥的一个州时,我希望图表更改以反映 2007、2008、2009 和 2010 列中的值。目前,这不起作用。 Firebug 告诉我“a 未定义”,但我真的不知道这意味着什么,因为我没有声明一个名为“a”的变量,并且假设它是 Google 脚本中的内容。
这是我正在使用的代码。单击侦听器从名为“column_1”的列中获取状态名称,然后将其传递给绘图可视化函数:
google.maps.event.addListener(shownLayer, 'click',function(e){
stateName = e.row['column_1'].value;
drawVisualization(stateName);
});
function drawVisualization(stateName){
google.visualization.drawChart({
containerID: "textBox",
dataSourceUrl: "http://www.google.com/fusiontables/gvizdata?tq=",
query: "SELECT '2007','2008','2009','2010' " +
"FROM 3943497 WHERE column_1 = '" + stateName + "'",
chartType: "ColumnChart",
options: {
title: stateName,
height: 300,
width: 400
}
});
}
地图网站位于:https://mywebspace.wisc.edu/csterling/web/cartel%20map/index.html
【问题讨论】:
-
我不熟悉 google.visualization,但我至少会先显示一个静态图表,然后担心点击时更改图表。
-
我已经做到了,并且了解如何做到这一点。我认为问题在于从融合表中获取数据。
标签: javascript google-maps-api-3 dom-events google-fusion-tables