如何使用冻结库加载谷歌图表?

时间:2015-10-22 08:05:55

标签: javascript google-visualization jsapi

通常情况下,谷歌图表库加载如下,工作正常:

google.load('visualization', '1', {packages: ['corechart']});

var data = new google.visualization.arrayToDataTable(v);
var chart = new google.visualization.LineChart(elm[0]);
chart.draw(data, options);

现在我想切换到核心图表的冻结版本。文档声明这将按如下方式完成:

google.charts.load('41', {packages: ['corechart']});

@see https://developers.google.com/chart/interactive/docs/library_loading_enhancements

问题: 使用此功能,我在javascript中收到google.visualization未定义的错误。

那么,我如何加载冻结版本?

2 个答案:

答案 0 :(得分:1)

问题不在于加载,问题是您访问google.visualization时的问题。

该文档说明您应该为创建图表的google.charts.setOnLoadCallback提供回调,但不是。

看起来脚本将在正常加载库时同步加载(通过document.write),但是当您加载冻结版本时,脚本将异步加载(通过appendChild),这是为什么尝试失败(当您尝试访问google.visualization

>脚本未完全加载)

答案 1 :(得分:0)

您是否更改了脚本标记的来源?

<script type="text/javascript" 
    src="https://www.google.com/jsapi"></script>

<script type="text/javascript" 
    src="https://www.gstatic.com/charts/loader.js"></script>