如何使用JavaScript为Google图表API加载会话数据

如何使用JavaScript为Google图表API加载会话数据,java,javascript,jsp,Java,Javascript,Jsp,我正在尝试加载一个会话数据,该数据将用于使用Google chart API创建饼图。但是,我似乎无法使其正常工作。有人能给我一些如何操作的指导吗?以下是源代码: 在AnalyzeUserClient.jsp中: <script type="text/javascript" src="https://www.google.com/jsapi"></script> <script type="text/javascript"> google.load('visu

我正在尝试加载一个会话数据,该数据将用于使用Google chart API创建饼图。但是,我似乎无法使其正常工作。有人能给我一些如何操作的指导吗?以下是源代码: 在AnalyzeUserClient.jsp中:

<script type="text/javascript" src="https://www.google.com/jsapi"></script>
<script type="text/javascript">
google.load('visualization', '1', {packages: ['corechart']});
</script>
<script type="text/javascript"> 
var sessionId = '<%= (HashMap<String, String>)request.getSession().getAttribute("hashMap") %>';

function drawVisualization() {
    // Create and populate the data table.
    var data = google.visualization.arrayToDataTable([
      [sessionId],
    ]);

    // Create and draw the visualization.
    new google.visualization.PieChart(document.getElementById('visualization')).
        draw(data, {title:"Percentage of Category for User:"});
  }

  google.setOnLoadCallback(drawVisualization);
</script>

//HTML Code
<div id="visualization" style="width: 600px; height: 400px;"></div>
我刚刚完成在Android应用程序中添加折线图的操作。我已经修改了我的场景以适应你的场景

var data = new google.visualization.DataTable();
// Slice-Value columns.
data.addColumn('string', 'Area');
data.addColumn('number', 'Value');

// Get the injected dataset.
var dataset = '<%= (HashMap<String, String>)request.getSession().getAttribute("hashMap") %>'; //
var mapSize = dataset.length;

for (var i = 0; i < mapSize; i++) {                            // Iterate over key-value pairs
  var keyValuePair = dataset[i];                               // Get the i'th value.
  var keyValueArray = new String(keyValuePair).split("=");     // Split on '='
  data.addRow([keyValueArray[0], parseInt(keyValueArray[1])]); // Add record.
}
为了完整起见

我已经在中测试了我的方法,它是有效的。我添加了代码

function drawVisualization() {
  // Create and populate the data table.
  var data = new google.visualization.DataTable();
  // Slice-value columns.
  data.addColumn('string', 'Area');
  data.addColumn('number', 'Value');

  var dataset = new Array("Environment=1", "Education=1", "Hospitality_Recreation=2", "Disaster_Accident=1", "Human Interest=3", "Labor=1");
  console.log(dataset);
  var mapSize = dataset.length;
  console.log(mapSize.toString());

  for (var i = 0; i < mapSize; i++) {                            // Iterate over key-value pairs
    var keyValuePair = dataset[i];                               // Get the i'th value.
    var keyValueArray = new String(keyValuePair).split("=");     // Split on '='
    data.addRow([keyValueArray[0], parseInt(keyValueArray[1])]); // Add record.
  }

  // Create and draw the visualization.
  new google.visualization.PieChart(document.getElementById('visualization')).
      draw(data, {title:"Area-Value plot for SO"});
}

只是把代码复制粘贴到我链接到的图表中。。。它仍然有效。
function drawVisualization() {
  // Create and populate the data table.
  var data = new google.visualization.DataTable();
  // Slice-value columns.
  data.addColumn('string', 'Area');
  data.addColumn('number', 'Value');

  var dataset = new Array("Environment=1", "Education=1", "Hospitality_Recreation=2", "Disaster_Accident=1", "Human Interest=3", "Labor=1");
  console.log(dataset);
  var mapSize = dataset.length;
  console.log(mapSize.toString());

  for (var i = 0; i < mapSize; i++) {                            // Iterate over key-value pairs
    var keyValuePair = dataset[i];                               // Get the i'th value.
    var keyValueArray = new String(keyValuePair).split("=");     // Split on '='
    data.addRow([keyValueArray[0], parseInt(keyValueArray[1])]); // Add record.
  }

  // Create and draw the visualization.
  new google.visualization.PieChart(document.getElementById('visualization')).
      draw(data, {title:"Area-Value plot for SO"});
}