我试图让google gauge指针移动,但它没有移动,我设置了动画配置,因为它假设在var选项中设置,例如duration:1000和easing:’inAndOut’,我在Google API中是n00b所以为了我的无知尝试.
谁能帮我.
这是我正在使用的tutorial link.代码工作但部分工作,仪表指针应该缓慢移动到它的最大值,但是,在我的情况下,它不会工作.
这是代码.
<html> <script type='text/javascript' src='https://www.google.com/jsapi'></script> <script type='text/javascript'> google.load('visualization','1',{packages:['gauge']}); google.setOnLoadCallback(drawChart); function drawChart() { var data = google.visualization.arrayToDataTable([ ['Label','Value'],['Match',80],]); var options = { width: 440,height: 140,greenFrom: 70,greenTo: 100,yellowFrom:50,yellowTo: 70,redFrom:0,redTo: 50,minorTicks: 5,animation:{ duration: 1000,easing: 'inAndOut',},majorTicks : ['0','10','20','30','40','50','60','70','80','90','100'] }; var chart = new google.visualization.Gauge(document.getElementById('chart_div<%=id%>')); chart.draw(data,options); clearChart(); } </script> </html>
解决方法
事实证明我自己想出了这个,在谷歌论坛
here中有一个很好的答案
诀窍是使用0(或任何最小值)值启动仪表,然后稍后更新值(使用setInterval()或任何其他方法)
肯定有更好的方法来更新价值,而不仅仅是编写一个新数组,但你明白了.
<html> <script type='text/javascript' src='https://www.google.com/jsapi'></script> <script type='text/javascript'> google.load('visualization',0],options); clearChart(); // This is new. setTimeout(function(){ var data = google.visualization.arrayToDataTable([ ['Label',]); chart.draw(data,options); },200); } </script> </html>