GWT Visualization API VisualizationUtils.LoadVisualizationApi

时间:2013-03-23 23:20:01

标签: gwt google-visualization gwt-visualization

假设存在一个应用程序,其中您有多个不同的视图,每个视图包含多个相同类型的图形。

我的问题是,每次创建新图时是否需要加载可视化API,如本示例http://code.google.com/p/gwt-google-apis/wiki/VisualizationGettingStarted所示,或者如果我加载一次可视化,我是否不再需要创建Runnable加载可视化时等待,以便显示数据?

1 个答案:

答案 0 :(得分:2)

是的,我们无法使用Google图表离线。

作为本地机器的we cannot download the Google Visualization api,我们必须动态加载它们。

可运行的方式

  Runnable onLoadCallback = new Runnable() {
                      public void run() 
                      {
  PieChart pie = new PieChart(createTable(result), createOptions());
  pie.addSelectHandler(createSelectHandler(pie));
   dataCHTabel.clear();
    dataCHTabel.add(pie);
    }
    };
   VisualizationUtils.loadVisualizationApi(onLoadCallback, PieChart.PACKAGE);

可视化API加载的新方式:

上述行已弃用,加载所有图表的新方式为

VisualizationUtils.loadVisualizationApi(onLoadCallback, CoreChart.PACKAGE);  

在加载应用时加载所有包

在我的主页上添加以下代码(appname.html

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

核心图包中包含区域,条形图,柱形图,直线图,饼图和散点图可视化的新版本的代码,这些代码以前由单独的包加载。

然后

 PieChart pie = new PieChart(createTable(result), createOptions());
 pie.addSelectHandler(createSelectHandler(pie));
 dataCHTabel.clear();
 dataCHTabel.add(pie);

geochart未包含在核心中所以,如果你想加载地理图表,你必须添加

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