Google-датчик дает ошибку при отправке нового значения
Я получаю ошибку ссылки, которая data1
не определена, моя форма видна, и я вижу 3 круга, которые я сделал. Но когда я хочу обновить его, я получаю ошибку ссылки.
Вот мой код для рисования, который работает:
google.load('visualization', '1', {packages:['gauge']});
google.setOnLoadCallback(drawChart);
function drawChart() {
var data1 = google.visualization.arrayToDataTable([
['Label', 'Value'],
['A', 0],
]);
var data2 = google.visualization.arrayToDataTable([
['Label', 'Value'],
['B', 0]
]);
var data3 = google.visualization.arrayToDataTable([
['Label', 'Value'],
['C', 0]
]);
var options1 = {
width: 150, height: 170,
min:0, max:200,
minorTicks: 5
};
var options2 = {
width: 150, height: 170,
min:0, max:7000,
minorTicks: 5
};
var options3 = {
width: 150, height: 170,
min:0, max:30,
minorTicks: 5
};
var chart = new google.visualization.Gauge(document.getElementById('visualization1'));
var chart2 = new google.visualization.Gauge(document.getElementById('visualization2'));
var chart3 = new google.visualization.Gauge(document.getElementById('visualization3'));
chart.draw(data1, options1);
chart2.draw(data2, options2);
chart3.draw(data3, options3);
}
И это функция, которую я использую для добавления нового значения в data1
function changeSpeed(dir) {
console.log(dir);
data1.setValue(0, 0, dir);
chart.draw(data1, options1);
}
Возможно, мои функции установлены неправильно.
1 ответ
Решение
Переменные options1
, options2
а также options3
, также data1
, data2
а также data3
определены в локальной области. Вы должны изменить свою функцию следующим образом:
function changeSpeed(dir, options, data) {
data.setValue(0, 0, dir);
chart.draw(data, options);
}
И использовать это:
changeSpeed(dir, options1, data1);
Или вы можете определить переменные в глобальной области видимости.