未捕获的参考错误:谷歌没有定义谷歌图表

时间:2013-07-08 18:45:09

标签: javascript android google-visualization

我正在尝试在Android应用程序中加载Google图表。但是,它引发了我没有定义谷歌的错误。下面是我的HTML文件和JavaScript文件。

<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Patient Vitals</title>

<link href="../../common/scripts/lib/css/jquery.mobile.theme-1.1.0.css" rel="stylesheet" type="text/css" />
<link href="../../common/scripts/lib/css/jquery.mobile-1.0.1.min.css" rel="stylesheet" type="text/css" />
<link rel="stylesheet" href="../../common/scripts/lib/css/jquery.mobile.datebox.css" />
<link href="../scripts/css.css" rel="stylesheet" type="text/css" />
<link rel="stylesheet" href="http://code.jquery.com/ui/1.10.3/themes/smoothness/jquery-ui.css" />

<script src="../../common/scripts/jsapi.js" type="text/javascript">
    google.load('visualization', '1.0', {'packages':['corechart']});
</script>
<script src="../scripts/patient_vitals.js"></script>
</head>
<body>
        <div class="PT_Care_vitals_swa_ofcurv_left"  onclick="getPatientVitalInfo();"</div>   
</body>
</html>

patient_vitals.js:

getPatientVitalInfo =function()
{
   logInformation("Get Patient Vital Information ");
   alert("Get Patient Vital info");
   //code to retieve data from database
   drawChart(temp); 
}

drawChart = function(temp) 
{
   alert("Inside drawChart function");
   //Convert array int DataTable
   var data = google.visualization.arrayToDataTable(temp);
   rowCount = data.getNumberOfRows();
   // Instantiate and draw our chart, passing in some options.
   chart = new google.visualization.LineChart(document.getElementById('chart_div'));
   var options = {'tooltip': {'trigger':'none'}, 'year': "numeric", 'month':      "numeric",'day': "numeric", 'pointSize':5};
   //Function to perform select operation

   //Drawing the chart in HTML page
   chart.draw(data, options);
}       

此处,google.visualization.arrayToDataTable(temp)会抛出此错误。对此有何想法?怎么解决?我还试图在.js文件中保留google.Visulization。但它也没有用。如果我从浏览器运行相同的代码,它工作正常。这是android的问题吗?

1 个答案:

答案 0 :(得分:4)

似乎有点奇怪。尝试更改

<script src="../../common/scripts/jsapi.js" type="text/javascript">
    google.load('visualization', '1.0', {'packages':['corechart']});
</script>

<script type="text/javascript" src="https://www.google.com/jsapi"></script>
<script type="text/javascript">google.load('visualization', '1.0', {'packages':['corechart']});</script>

然后应该正确加载google对象。此外,您已从谷歌图表示例粘贴图表初始化,

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

但您唯一的HTML是

<div class="PT_Care_vitals_swa_ofcurv_left"  onclick="getPatientVitalInfo();"</div>   

您错过了chart_div ID