2013-03-23 3 views
0

Предположим, что существует приложение, в котором у вас есть несколько разных представлений, каждый из которых содержит несколько графиков одного типа.API визуализации GWT VisualizationUtils.LoadVisualizationApi

Мой вопрос: нужно ли загружать API визуализации каждый раз, когда я создаю новый граф, как показано в этом примере http://code.google.com/p/gwt-google-apis/wiki/VisualizationGettingStarted, или если я загружу визуализацию один раз, мне больше не нужно создавать Runnable для того, чтобы ждать, когда визуализация будет загружена, чтобы данные могли отображаться?

ответ

2

Да, мы не можем использовать Google Charts Offline.

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> 

Пакет corechart включает в себя код для новых версий площадь, бар, колонки, линии, пирог, и разброс визуализаций, которые ранее были загружены отдельными пакетами.

, а затем

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

geochart не входит в ядре Таким образом, и если вы хотите загрузить гео диаграмму, вы должны добавить

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

я вижу. Таким образом, это абсолютно правильный подход для загрузки API визуализации при загрузке приложения (хотя вы пока ничего не показываете). Если мне нужны только те диаграммы, которые мне нужны, то мне не нужно беспокоиться о загрузке чего-либо еще, пока пользователь использует мое приложение. Пожалуйста подтвердите. – bubbles

+0

Yup.loading everthing во время загрузки - это не лучший подход. Это зависит от нашего приложения. Если мы используем много диаграмм, тогда я бы предпочел загрузку в то время. Но у нас есть только два способа загрузки ... я бы предпочел бегун метод. –

+0

Загрузка на главной странице может привести к дрейфу в общей производительности ... –

Смежные вопросы