0

我正在尝试通过单击融合表图层/地图来动态绘制图表。每当单击墨西哥的一个州时,我希望图表更改以反映 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

4

1 回答 1

0
containerID: "textBox",

拼写错误。应该:

containerId: "textBox",

我的建议是先让一个基本的静态 GVis 图表工作,然后再担心将其链接到 Fusion Tables 并根据鼠标点击更改图表。我采用了您脚本的相关部分,但无法使其正常工作。当您发布整个文件时,很难将给您带来问题的问题与其他代码区分开来。这是我提取来测试基本 GViz 问题的内容:

<!DOCTYPE html>
   <html>
   <head>
   <script src="http://www.google.com/jsapi"></script>
  <script type='text/javascript'>
   google.load('visualization','1', {packages: ['corechart'] });
    window.onload = function () {
       drawVisualization('Chiapas');
    }
   function drawVisualization(stateName){
       google.visualization.drawChart({
           "chartType": "ColumnChart",
           "containerId": "textBox",
           "dataSourceUrl": "http://www.google.com/fusiontables/gvizdata?tq=",
           "query": "SELECT '2007','2008','2009','2010' " + "FROM 3943497 WHERE column_1 = '" + stateName + "'",
           "options": {
               title: stateName
           }
       });
   }

   </script>
   </head>
   <body>
     <div id="textBox" style="width: 400px; height: 300px;"></div>
     <br />
   </body>
   </html>

此应用程序不起作用。我在页面中显示:“不支持带有值域轴的条形系列”

我还可以在您的应用中看到您使用的 stateName 值是“墨西哥恰帕斯州”,但这不是 Fusion Table column_1 中显示的值,“恰帕斯州”是那里的一个值。

于 2012-06-05T14:09:50.943 回答