GWT可视化API VisualizationUtils.LoadVisualizationApi

GWT可视化API VisualizationUtils.LoadVisualizationApi,gwt,google-visualization,gwt-visualization,Gwt,Google Visualization,Gwt Visualization,假设存在一个应用程序,其中您有多个不同的视图,每个视图包含多个相同类型的图 我的问题是,我是否需要在每次创建如本例所示的新图形时加载可视化API,或者如果加载可视化一次,我是否不再需要创建Runnable以等待加载可视化以便显示数据 是的,我们不能脱机使用谷歌图表。 至于我们的本地机器,我们必须动态加载它们 可运行的道路 Runnable onLoadCallback=new Runnable(){ 公开募捐 { PieChart pie=新PieChart(createTable(结果),cr

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


我的问题是,我是否需要在每次创建如本例所示的新图形时加载可视化API,或者如果加载可视化一次,我是否不再需要创建Runnable以等待加载可视化以便显示数据

是的,我们不能脱机使用谷歌图表。

至于我们的本地机器,我们必须动态加载它们

可运行的道路

Runnable onLoadCallback=new Runnable(){
公开募捐
{
PieChart pie=新PieChart(createTable(结果),createOptions());
addSelectHandler(createSelectHandler(pie));
dataCHTabel.clear();
dataCHTabel.add(饼图);
}
};
VisualizationUtils.loadVisualizationApi(onLoadCallback,PieChart.PACKAGE);
可视化API加载的新方法:

上面这一行已被弃用,加载所有图表的新方法是

VisualizationUtils.loadVisualizationApi(onLoadCallback, CoreChart.PACKAGE);  
在加载应用程序时加载所有软件包

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


load(“可视化”、“1”、{'packages':[“corechart”]});
corechart包包括区域、条形图、列、线、饼图和散点可视化的新版本代码,这些新版本以前是由单独的包加载的

然后

PieChart pie=new PieChart(createTable(result),createOptions());
addSelectHandler(createSelectHandler(pie));
dataCHTabel.clear();
dataCHTabel.add(饼图);
地球化学图不包括在核心部分,所以,如果你想加载地球化学图,你必须添加

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

我懂了。因此,在加载应用程序时加载visualizations API是一种完全有效的方法(即使您还没有显示任何内容)。如果corechart中只包含了我需要的图表,那么我就不必担心在用户使用我的应用程序时加载任何其他内容。请确认。是的。在加载时加载所有内容不是更好的方法。这取决于我们的应用程序。如果我们使用许多图表,那么我更喜欢一次加载。但我们只有两种加载方式…我更喜欢runner方法。抱歉,我很难理解这一点。例如,如果您使用的唯一图表是PieChart,并且应用程序中有很多这样的图表,那么可以在应用程序启动时加载PieChart API,因为您只使用一种类型的图表。(你不需要再次请求加载可视化,因为你已经加载了PieChart API)在这种情况下,我们也必须加载到我们的机器上,因为包装是loadrd,但没有实际下载。我们必须每次调用runner。没有其他选项我找不到。所以你是说如果你想要2个PieChart,您必须运行2个可运行实例吗?仅使用1个Runnable,然后使用它加载的任何内容来渲染另一个,可能超过2个,这还不够吗。“包装器已加载但未实际下载”是什么意思