2015-11-06 22 views
0

我試圖獲取Google運動圖表的狀態,以便我可以修改圖表選項中的初始狀態。該文檔建議創建一個按鈕,該按鈕將調用圖表上的getState()以檢索具有所需參數的字符串。無法從Google運動圖表中獲取狀態()

但是,當我嘗試console.log()drawChart函數內部的值時,調用圖表上的getState()返回「null」,並且根本無法工作,當我嘗試使用閉包從按鈕調用它時。這裏是我的代碼:

<script> 

function drawChart() { 

    var data = new google.visualization.DataTable(); 
    //there is data here 
    data.addRows(datajson); 

    var options = {}; 
    //there are options here 

    var chart = new google.visualization.MotionChart(document.getElementById('chart_div')); 

    chart.draw(data, options); 

    var getChartState = function() { 
    var chartState = chart.getState(); 
    console.log(chartState); 
    }; 

    return getChartState; 

}; 

</script> 

<div onclick="getChartState()">Get Chart State</div> 
<div id="chart_div">&nbsp;</div> 
+0

這可能是'console.log(charState);'應該是'console.log(chartState);'? –

+0

@丹寧,對不起,那只是一個抄錄錯誤。錯字不在我的代碼中。 –

回答

0

Motion Chart是基於閃存組件,你可能正從getState功能無效,因爲該圖表無法呈現正常而這又可能與以下原因有關:

  • 確保Flash播放器安裝在您的計算機上,請this link來確定你 系統

  • 是否安裝Flash Player中
  • 由於閃存的安全設置,Motion Chart(以及所有基於Flash的 可視化)在瀏覽器中從文件 位置訪問時可能無法正常工作(例如,file:///c:/webhost/myhost/myviz.html) 而不是從Web服務器URL

Working example演示如何繪製Motion Chart並獲得它的狀態。

+0

圖表呈現正常,但在圖表上調用getState()仍然返回null。另外,該工作示例不會在圖表上顯示getState()。 –