我试图与谷歌的图表API的工作,但我得到一个错误,我不明白:类型错误:google.visualization未定义
这里是我的代码:
<script type="text/javascript" src="https://www.google.com/jsapi"></script>
<script type="text/javascript" src="js/statistics/overview.js"></script>
而代码从overview.js是这样的:
var statisticsOverview = {
init: function() {
google.load("visualization", "1", {packages: ["corechart"]});
google.setOnLoadCallback(this.drawIncomeChart());
google.setOnLoadCallback(this.drawExpensesChart());
google.setOnLoadCallback(this.drawEconomiesChart());
},
drawIncomeChart: function() {
var data = [
['Year', 'Income'],
['October 2013', 1000],
['January 2014', 1170],
['March 2014', 660]
];
var options = {
title: 'Income Performance',
colors: ['green']
};
var id = 'chart_income';
this.drawLineChart(data, options, id);
},
drawExpensesChart: function() {
var data = [
['Year', 'Expense'],
['October 2013', 1000],
['January 2014', 1170],
['March 2014', 660]
];
var options = {
title: 'Expense Performance',
colors: ['red']
};
var id = 'chart_expenses';
this.drawLineChart(data, options, id);
},
drawEconomiesChart: function() {
var data = [
['Year', 'Savings'],
['2004', 1000],
['2005', 1170],
['2006', 660],
['2007', 1030]
];
var options = {
title: 'Savings Performance',
colors: ['orange']
};
var id = 'chart_economies';
this.drawLineChart(data, options, id);
},
drawLineChart: function(data, options, id) {
console.log(google.visualization);
var chartData = google.visualization.arrayToDataTable(data);
var chart = new google.visualization.LineChart(document.getElementById(id));
chart.draw(chartData, options);
}
};
statisticsOverview.init();
这很奇怪,因为console.log()会给我的谷歌对象的属性可视化。我究竟做错了什么?
init'部分是如何调用的? –
我的对象声明之后(请参阅代码的最后一行) – zuzuleinen
啊,对不起。没有注意到它。 –