我正在尝试动态更新 Google Charts Gauge 中的值,但是当我尝试使用变量作为值时,它会崩溃。
var data = google.visualization.arrayToDataTable([
['Label', 'Value'],
//Doesn't work:
['Barometer', x],
//Works:
[x, 28],
//Works:
['Barometer', 28]
]);
我认为问题在于我声明变量的方式,因为当我只使用 var x=28
时,它工作得很好。
这是我用来获取变量的代码:它使用 Jquery 获取 JSON 文件,并从文件中获取值:
var x
$.getJSON('http://pipes.yahoo.com/pipes/pipe.run?_id=467a55b506ba06b9ca364b1403880b65&_render=json&textinput1=40.78158&textinput2=-73.96648&_callback=?',
function(data){
x = data.value.items[0].data[1].parameters.pressure.value;
}
)
我尝试使用x = eval(x)
,但它仍然根本不起作用。但是,当我使用 x = eval(x+1-1)
或 x = x+1-1
时,仪表显示了,但值为 NaN。
最佳答案
好的,解决了。
我最终在加载 Google Charts API 之前定义了变量,然后在定义变量之前添加了x = eval(x)
。
这是最终的简化代码:
var x
$.getJSON('insert JSON url here WITH QUOTES',
function(data){
x = path.to.something.in.JSON.file.here;
}
google.load('visualization', '1', {
packages: ['gauge']
});
google.setOnLoadCallback(drawChart);
function drawChart() {
x = eval(x)
var Data = google.visualization.arrayToDataTable([
['Label', 'Value'],
['Gauge', x],
]);
var Options = {
};
var Chart = new google.visualization.Gauge(document.getElementById('insertGaugeContainerHere'));
Chart.draw(Data, Options);
}
如果您想知道,最终产品位于 here .
关于javascript - 在 Google Charts (Gauge) 中使用变量作为值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10778294/