Javascript GoogleAPI:GoogleChartGauge动画不使用Ajax调用

Javascript GoogleAPI:GoogleChartGauge动画不使用Ajax调用,javascript,asp.net,charts,google-visualization,Javascript,Asp.net,Charts,Google Visualization,以上是我的谷歌仪表图代码。动画不起作用。它总是固定在一个值上。仪表指针未在间隔设置上移动。 刷新数据时,仪表线不会设置动画,而是从新数据重新绘制。我想看看这部很酷的动画看起来像是在用数据绘制图表, 在'ready'事件有时间作出反应之前 将最后一条draw语句移动到if语句中,请参见下面的注释 setInterval(function () { drawGuage(); }, 5000); var chart1 = null; function drawGuage() {

以上是我的谷歌仪表图代码。动画不起作用。它总是固定在一个值上。仪表指针未在间隔设置上移动。
刷新数据时,仪表线不会设置动画,而是从新数据重新绘制。我想看看这部很酷的动画

看起来像是在用数据绘制图表,
'ready'
事件有时间作出反应之前

将最后一条
draw
语句移动到
if
语句中,请参见下面的注释

setInterval(function () {
    drawGuage();
}, 5000);

   var chart1 = null;
  function drawGuage() {

        $.ajax({
            type: "POST",
            url: "Default.aspx/GetGuageData",
            data: '{}',
            contentType: "application/json; charset=utf-8",
            dataType: "json",
            success: function (r) {
                var data;

                var options = {
                            title: 'Run-rate',
                            width: 500, height: 500,
                            min: 0, max: 120,
                            redFrom: 0, redTo: 80,
                            yellowFrom: 101, yellowTo: 120,
                            greenFrom: 81, greenTo: 100,
                            minorTicks: 5,
                            majorTicks: ['0', '30', '60', '90', '120'],
                            animation: {
                                duration: 1000,
                                easing: 'inAndOut'
                            },
                        };
                if (chart1 === null) {
                    chart1 = new google.visualization.Gauge($("#guageChart")[0]);
                     data = google.visualization.arrayToDataTable([
                        ['Label', 'Value'],
                        ['Production', 0]
                    ]);
                    chart1.draw(data, options);
                    google.visualization.events.addOneTimeListener(chart1, 'ready', function () {
                              data = google.visualization.arrayToDataTable(r.d);
                              chart1.draw(data, options);
                            });
                }
                else {
                    data = google.visualization.arrayToDataTable(r.d); 
                }
                chart1.draw(data, options);
            },
            failure: function (r) {
                alert(r.d);
            },
            error: function (r) {
                alert(r.d);
            }
        });
}
if(chart1==null){
chart1=新的google.visualization.Gauge($(“#guageChart”)[0]);
data=google.visualization.arrayToDataTable([
['Label','Value'],
[‘生产’,0]
]);
图表1.绘制(数据、选项);
google.visualization.events.addOneTimeListener(图表1,'ready',函数(){
data=google.visualization.arrayToDataTable(r.d);
图表1.绘制(数据、选项);
});
}
否则{
data=google.visualization.arrayToDataTable(r.d);
}

图表1.绘制(数据、选项);//我还有一个问题,在谷歌表格图表中,是否有可能根据列单元格的值为列单元格设置闪光灯颜色,就像我们有颜色格式化程序一样。
            if (chart1 === null) {
                chart1 = new google.visualization.Gauge($("#guageChart")[0]);
                 data = google.visualization.arrayToDataTable([
                    ['Label', 'Value'],
                    ['Production', 0]
                ]);
                chart1.draw(data, options);
                google.visualization.events.addOneTimeListener(chart1, 'ready', function () {
                          data = google.visualization.arrayToDataTable(r.d);
                          chart1.draw(data, options);
                        });
            }
            else {
                data = google.visualization.arrayToDataTable(r.d); 
            }
            chart1.draw(data, options);  // <-- move this up one line
            if (chart1 === null) {
                chart1 = new google.visualization.Gauge($("#guageChart")[0]);
                 data = google.visualization.arrayToDataTable([
                    ['Label', 'Value'],
                    ['Production', 0]
                ]);
                chart1.draw(data, options);
                google.visualization.events.addOneTimeListener(chart1, 'ready', function () {
                          data = google.visualization.arrayToDataTable(r.d);
                          chart1.draw(data, options);
                        });
            }
            else {
                data = google.visualization.arrayToDataTable(r.d); 
                chart1.draw(data, options);  // <-- to here
            }