Я использую API Google Analytics для получения некоторых данных JSON, относящихся к моей учетной записи GA, и хотел бы построить эти данные на круговой диаграмме, используя API визуализации Google. Тем не менее, у меня возникают проблемы с использованием динамических данных для заполнения круговой диаграммы, где я получаю ошибку «Аргумент, заданный addRows, должен быть числом или массивом», если я использую текстовую строку.Динамическое заполнение диаграммы Google с помощью API Analytics JSON
Использование метода addRows(), если я использую вывод переменной 'd' вместо самой переменной, диаграмма отображает штраф, но на диаграмме, похоже, есть проблема с чтением массива прямо из переменной. Кто-нибудь заставлял это работать динамично?
Вот мой код до сих пор:
<div id="chart_div" style="width: 900px; height: 500px;"></div>
var list = [];
var j = "";
var d = "";
$(window).load(function(){
var myjson = 'my json response data';
// my json already fetched from the server using ASP.NET
j = $.parseJSON(myjson);
$.each(j.rows, function() {
list.push("['" + this[0].toString() + "'," + this[7] + "]");
});
// I push all JSON entries from the 'rows' object into an array,
// but choose only the 1st and 8th column for the relevant data
// and format it to be readable by the Google Visualization API
d = "[" + list + "]";
});
google.load("visualization", "1", {packages:["corechart"]});
google.setOnLoadCallback(drawChart);
function drawChart() {
var data = new google.visualization.DataTable();
data.addColumn('string', 'Label');
data.addColumn('number', 'Value');
data.addRows(d);
var options = {
title: 'My Daily Activities'
};
var chart = new google.visualization.PieChart(document.getElementById('chart_div'));
chart.draw(data, options);
}