Google 可视化仪表:无法读取未定义的 属性 'arrayToDataTable'
Google visualization gauge : Cannot read property 'arrayToDataTable' of undefined
我正在研究 JS,特别是 google 可视化仪表。我尝试将此图表整合到我的脚本中。
但是我遇到了这个错误:
Uncaught TypeError: Cannot read property 'arrayToDataTable' of undefined
at drawChart (main.js:59)
at main (main.js:10)
at main.js:4
这是我的代码:
google.charts.load('current', {'packages':['gauge']});
google.charts.setOnLoadCallback(drawChart);
main();
function main(){
var valueGauge=requestHttp("https://raptorjesus.000webhostapp.com/lecture.php");
drawChart(valueGauge);
editElementHTML("valeurExacte","La quantité de CO2 est de : ",valueGauge," ppm.");
[...]
setTimeout(main, 1000); //On dit à JS que la fonction main a une durée de vie de 1 seconde
}
function requestHttp(url){
[...]
}
function drawChart(valueGauge) {
var data = google.visualization.arrayToDataTable([
['Label', 'Value'],
['CO2', valueGauge] //on remplace la valeur stricte du snippet google par la variable de la requête
]);
var options = {
width: 350, height: 250,
redFrom: 5000, redTo: 6000,
yellowFrom: 1700, yellowTo: 5000,
greenFrom: 1000, greenTo: 1700,
minorTicks: 5,
max: 6000,
};
var chart = new google.visualization.Gauge(document.getElementById('chart_div'));
chart.draw(data, options);
}
function editElementHTML(idElem, text1, text2, variable){
var Element= (document.getElementById(idElem));
Element.innerHTML = text1+ variable+text2;
}
错误来自 var data = google.visualization.arrayToDataTable
行,但我不知道为什么,因为我没有看到任何语法错误,它与 Google 图表文档的代码相同...
有什么想法吗?
已解决:我不得不使用 google.charts.setOnLoadCallback(drawChart) 而不是 drawchart()
我正在研究 JS,特别是 google 可视化仪表。我尝试将此图表整合到我的脚本中。
但是我遇到了这个错误:
Uncaught TypeError: Cannot read property 'arrayToDataTable' of undefined
at drawChart (main.js:59)
at main (main.js:10)
at main.js:4
这是我的代码:
google.charts.load('current', {'packages':['gauge']});
google.charts.setOnLoadCallback(drawChart);
main();
function main(){
var valueGauge=requestHttp("https://raptorjesus.000webhostapp.com/lecture.php");
drawChart(valueGauge);
editElementHTML("valeurExacte","La quantité de CO2 est de : ",valueGauge," ppm.");
[...]
setTimeout(main, 1000); //On dit à JS que la fonction main a une durée de vie de 1 seconde
}
function requestHttp(url){
[...]
}
function drawChart(valueGauge) {
var data = google.visualization.arrayToDataTable([
['Label', 'Value'],
['CO2', valueGauge] //on remplace la valeur stricte du snippet google par la variable de la requête
]);
var options = {
width: 350, height: 250,
redFrom: 5000, redTo: 6000,
yellowFrom: 1700, yellowTo: 5000,
greenFrom: 1000, greenTo: 1700,
minorTicks: 5,
max: 6000,
};
var chart = new google.visualization.Gauge(document.getElementById('chart_div'));
chart.draw(data, options);
}
function editElementHTML(idElem, text1, text2, variable){
var Element= (document.getElementById(idElem));
Element.innerHTML = text1+ variable+text2;
}
错误来自 var data = google.visualization.arrayToDataTable
行,但我不知道为什么,因为我没有看到任何语法错误,它与 Google 图表文档的代码相同...
有什么想法吗?
已解决:我不得不使用 google.charts.setOnLoadCallback(drawChart) 而不是 drawchart()