javascript - 在 Google Charts (Gauge) 中使用变量作为值

标签 javascript arrays json google-visualization

我正在尝试动态更新 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/

相关文章:

php - 将 JSON 文件解析为 PHP 中的数组

java - 提交表单时未调用 JSF valuechangelistener

arrays - 翻转 3D numpy 数组

java - 使用gson库将Json反序列化为java类

c#在序列化时重命名派生属性

c++ - 如何将动态数组中的数组指向某物?

javascript - 如何使div无限移动?

javascript - 点击按钮触发按钮 "under"他

php - 如何从域中获知 Feed url?

ios - 如何使用与 NewtonSoft (JSON.Net) 组件中的 JSON 匹配的 Swift 类从 JSON 读取/写入对象数组?