, прежде чем рисовать диаграмму, нужно подождать загрузки страницы и диаграмм Google.
оператор загрузки Google будет ожидать загрузки страницы по умолчанию.
Вы можете установить «on load» callback
в операторе загрузки,
, затем получить данные,
и нарисовать диаграмму.
см. Следующий фрагмент ...
ngOnInit()
{
google.charts.load('current', {
packages: ['corechart','geochart'],
mapsApiKey: 'XXXXmyAPIKEYXXXX',
callback: this.getData
});
}
getData()
{
this.http.post(url,data,{responseType: 'text'})
.subscribe(
data =>
{
this.geoChartArray = JSON.parse(data).data;
this.drawGeoChart();
},
error =>
{
console.log(error);
}
);
}
drawGeoChart()
{
var geo_1_options = { is3D: true };
var geo_1_data = google.visualization.arrayToDataTable(this.geoChartArray);
var domElement = document.getElementById('geochart');
var geo_1_chart = new google.visualization.GeoChart(domElement);
geo_1_chart.draw(geo_1_data, geo_1_options);
}