Google の注釈付きタイムラインに問題があります。jQuery ready 関数で呼び出されるこの関数 (以下に示す) があります。
//creates an annotated timeline
function graphAnnotatedTimeLine(url) {
jQuery.get(url, function(returned_data) {
//parse returned_data ...
//build data table
var dataTable = new google.visualization.DataTable();
dataTable.addColumn('datetime', columnHeadings[0]);
dataTable.addColumn('number', columnHeadings[1]);
//populate table
for(var i = 0; i < rawData.length; i++) {
var parsedData = data[i].split(",");
dataTable.addRow([new Date(parsedData[0]), parseFloat(parsedData[1])]);
}
//draw graph
var options = {displayAnnotations: false,
allowRedraw: true,
legendPosition: 'newRow',
displayZoomButtons: false,
wmode: 'transparent'};
var chart = new google.visualization.AnnotatedTimeLine(document.getElementById('chart-div'));
chart.draw(dataTable, options);
});
}
次のように準備完了関数で呼び出されます。
$.ready(function() {
//generate url string
google.setOnLoadCallback(graphAnnotatedTimeline(url));
self.setInterval('updateGraph', 60000);
//more stuff
});
したがって、準備ができたら、それを呼び出して最初のデータ セットを描画し、更新関数を毎分呼び出すように設定します。update 関数が行うことは基本的に ready 関数と同じです: URL 文字列を作成し、その URL でグラフ関数を呼び出します。私が抱えている問題は、起動時にグラフが表示されないことです。ただし、更新が一度呼び出されると、その後は正常に表示されます。なぜこれが起こっているのかについて、私にいくつかの洞察を与えることができる人はいますか?