Индикатор активности в GWT MAP - PullRequest
2 голосов
/ 27 сентября 2011

Мне хотелось бы иметь индикатор активности, который отображается после того, как мое приложение запущено и работает, но пока GWT выполняет вызовы AJAX.

Например, посмотрите на следующий сайт: http://www.foodtrucksmap.com/#

Есть идеи, как этого добиться?

Ответы [ 2 ]

1 голос
/ 27 сентября 2011

Вы можете использовать индикатор активности от здесь , они являются анимированными GIF-изображениями, поэтому вы можете отобразить их так:

<g:Image ui:field="activityImage"/>

MyResources resources = GWT.create(MyResources.class);
this.activityImage.setResource(resources.activityImage());

и в вашем интерфейсе ресурсов вы установите изображение:

public interface MyResources extends ClientBundle{
    // use the actual path to your image
    @Source("../resources/images/activityImage.gif")
    ImageResource activityImage();
}

Когда вы делаете ваши асинхронные вызовы:

loadingImage.setVisible(true);

и в обратном вызове:

loadingImage.setVisible(false);
0 голосов
/ 28 сентября 2011

Мне приходилось иметь дело с такими же вещами несколько дней назад. Я так и сделал, создал иконку и наложил ее на карту.

Icon icon = Icon.newInstance("loading.gif"); // load you gif as icon
MarkerOptions options = MarkerOptions.newInstance();
options.setIcon(icon);
Marker indicator = new Marker(point, options); 

Итак, перед вызовом Async и после того, как ваша карта открыта, просто добавьте значок на карту, используя

map.addOverlay(indicator);

и после асинхронного вызова удалите оверлей, используя

map.removeOverlay(indicator);

Я не уверен, насколько правильный этот подход, но это то, что я сделал, и это сработало.

...