【问题标题】:Cannot read property 'DataTable' of undefined google charts无法读取未定义谷歌图表的属性“数据表”
【发布时间】:2018-05-21 11:32:50
【问题描述】:

我正在开发基于谷歌地图的报告系统,我想在谷歌图表上显示谷歌地图数据,例如汽车时间和速度,这是我的代码:

function updatereport() {
  //alert("aaa");
  $.ajax({
    url: 'getreport.php',
    data: {
      yy: '18',
      mm: '05',
      dd: '17',
      hh: '18',
      driverid: '7'
    },
    type: 'get',
    error: function() {
      alert("some error ! :(");
    },
    success: function(result) {
      //alert(result);
      var myobj = JSON.parse(result);

      google.charts.load('visualization', {
        '1.0': ['corechart']
      });
      google.charts.setOnLoadCallback(drawChart(myobj));

    } //func 
  }) //ajax
}
// Draw the chart and set the chart values
function drawChart(myobj) {

  var data = new google.visualization.DataTable();
  alert("a");
  data.addColumn("number", "time");
  data.addColumn("number", "speed");
  data.addRow();
  for (i in myobj)
    data.addRows(myobj[i].time);


  //var xx=[['T', 'H'],[2, 8.2],[3, .2],[4, 4],[6, 2],[9, 8]];
  //var data = google.visualization.arrayToDataTable(xx);
  //alert(myobj[1].time);
  // Optional; add a title and set the width and height of the chart
  var options = {
    'title': 'My Average Day',
    'width': 550,
    'height': 400
  };

  // Display the chart inside the <div> element with id="piechart"
  var chart = new google.visualization.LineChart(document.getElementById('chart'));
  chart.draw(data, options);
}


但问题是当我运行这段代码时它显示了

无法读取未定义的属性“DataTable”

【问题讨论】:

  • 您复制的代码看起来不错,但还不足以完成整个工作,因为您没有显示如何加载加载程序并调用 updatereport。我怀疑您在图表代码完成加载之前还有其他调用 drawChart 的方法。

标签: javascript jquery ajax charts google-visualization


【解决方案1】:

加载语句看起来不正确,

替换这个...

  google.charts.load('visualization', {
    '1.0': ['corechart']
  });

有了这个……

google.charts.load('current', {
  packages: ['corechart']
});

【讨论】:

  • 实际上有一个未记录的功能将“1.0”解释为与“当前”相同,因此任何一种方式都应该有效。
  • 对,按照我的建议,它必须是:google.charts.load('1.0', { packages: ['corechart'] }) 。如果没有“packages”属性,什么都不会加载。我们可能应该在控制台上输出错误输入错误。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-04-03
  • 2011-12-07
  • 2017-11-09
  • 1970-01-01
  • 2022-01-18
  • 2017-03-14
相关资源
最近更新 更多