„Geomajas” változatai közötti eltérés
Nincs szerkesztési összefoglaló |
Nincs szerkesztési összefoglaló |
||
| 14. sor: | 14. sor: | ||
Ezután látogassunk el a http://localhost:8080/-ra, ahol megtekinthető az eredmény. | Ezután látogassunk el a http://localhost:8080/-ra, ahol megtekinthető az eredmény. | ||
==A projekt szerkezete== | |||
A GWT-s projekt általában egy gyökér könyvtárbeli szerver és kliens oldali csomagból áll. A kliens oldali belépési pont az Application.java fájl, ami a következő helyen található: ..\geomajas-gwt2-quickstart-application-master\src\main\java\org\geomajas\quickstart\gwt2\client. | |||
Ez megvalósítja a com.google.gwt.core.client.EntryPoint interfészt, így implementálni kell az onModuleLoad metódust. A kód egyszerű, Létrejön egy ApplicationLayout, majd hozzáadódik a megjelenítéshez. | |||
<code> | |||
import com.google.gwt.core.client.EntryPoint; | |||
import com.google.gwt.user.client.ui.RootLayoutPanel; | |||
/** | |||
* Application entry point. | |||
*/ | |||
public class Application implements EntryPoint { | |||
@Override | |||
public void onModuleLoad() { | |||
ApplicationLayout layout = new ApplicationLayout(); | |||
RootLayoutPanel.get().add(layout); | |||
} | |||
} | |||
</code> | |||
Az ApplicationLayout geomajas specifikus layout, a következő módon keletkezik: | |||
<code> | |||
public ApplicationLayout() { | |||
initWidget(UIBINDER.createAndBindUi(this)); | |||
ApplicationResource.INSTANCE.css().ensureInjected(); | |||
mapPresenter = GeomajasImpl.getInstance().createMapPresenter(); | |||
mapPresenter.getEventBus().addMapInitializationHandler(new MyMapInitializationHandler()); | |||
GeomajasServerExtension.getInstance().initializeMap(mapPresenter, "app", "mapMain"); | |||
mapLayoutPanel = new MapLayoutPanel(); | |||
mapLayoutPanel.setPresenter(mapPresenter); | |||
mapPanel.add(mapLayoutPanel); | |||
appService = ApplicationService.getInstance(); | |||
appService.setMapPresenter(mapPresenter); | |||
appService.setMapLayoutPanel(mapLayoutPanel); | |||
appService.getMapPresenter().getEventBus().addHandler(FeatureMouseOverHandler.TYPE, new MyFeatureMouseOverHandler()); | |||
} | |||
</code> | |||
Miután betöltődik a kontextusthoz szükséges GWT-s modulok, létrejön egy MapPresenter, majd hozzá egy default inicializáló. Ezután a szerverkódból inicializáljuk ezt. Ezt követi a Layout beállítása, hozzáadása a megjelenítéshez, valamint egy ApplicationService létrehozása, amely kiszolgálja a létrehozott Layert. Ezután hozzáadásra kerül egy egyedi eseménykezelő. | |||
A lap 2017. március 29., 08:49-kori változata
Áttekintés
A Geomajas (http://www.geomajas.org/) egy Java nyelven íródott Open Source Web Mapping Framework. Mind szerver, mind kliensoldali komponenseket kínál. Szerveroldalon Java, Javascript, míg kliensoldalon GWT és Javascript nyelven megvalósításokat tesz elérhetővé.
Előkészületek
A mintaprogramok fordításához és futtatásához Maven-t használ (https://maven.apache.org/). Ahhoz, hogy futtatni és fordítani tudjuk a github-os projekteket, a Maven telepítési könyvtárában a settings.xml-ben (HOME/.m2/settings.xml) fel kell venni néhány dependency-t, ez az xml a github-os gwt kliensnél megtalálható. (https://github.com/geomajas/geomajas-project-client-gwt2)
Kezdésként a GWT-s standalone applicationt indítsuk el. (https://github.com/geomajas/geomajas-gwt2-quickstart-application) Fordítsuk le a Mavennel a projektet, majd futtassuk.
mvn install
mvn jetty: run
Ezután látogassunk el a http://localhost:8080/-ra, ahol megtekinthető az eredmény.
A projekt szerkezete
A GWT-s projekt általában egy gyökér könyvtárbeli szerver és kliens oldali csomagból áll. A kliens oldali belépési pont az Application.java fájl, ami a következő helyen található: ..\geomajas-gwt2-quickstart-application-master\src\main\java\org\geomajas\quickstart\gwt2\client.
Ez megvalósítja a com.google.gwt.core.client.EntryPoint interfészt, így implementálni kell az onModuleLoad metódust. A kód egyszerű, Létrejön egy ApplicationLayout, majd hozzáadódik a megjelenítéshez.
import com.google.gwt.core.client.EntryPoint;
import com.google.gwt.user.client.ui.RootLayoutPanel;
/**
* Application entry point.
*/
public class Application implements EntryPoint {
@Override
public void onModuleLoad() {
ApplicationLayout layout = new ApplicationLayout();
RootLayoutPanel.get().add(layout);
}
}
Az ApplicationLayout geomajas specifikus layout, a következő módon keletkezik:
public ApplicationLayout() {
initWidget(UIBINDER.createAndBindUi(this));
ApplicationResource.INSTANCE.css().ensureInjected();
mapPresenter = GeomajasImpl.getInstance().createMapPresenter();
mapPresenter.getEventBus().addMapInitializationHandler(new MyMapInitializationHandler());
GeomajasServerExtension.getInstance().initializeMap(mapPresenter, "app", "mapMain");
mapLayoutPanel = new MapLayoutPanel();
mapLayoutPanel.setPresenter(mapPresenter);
mapPanel.add(mapLayoutPanel);
appService = ApplicationService.getInstance();
appService.setMapPresenter(mapPresenter);
appService.setMapLayoutPanel(mapLayoutPanel);
appService.getMapPresenter().getEventBus().addHandler(FeatureMouseOverHandler.TYPE, new MyFeatureMouseOverHandler());
}
Miután betöltődik a kontextusthoz szükséges GWT-s modulok, létrejön egy MapPresenter, majd hozzá egy default inicializáló. Ezután a szerverkódból inicializáljuk ezt. Ezt követi a Layout beállítása, hozzáadása a megjelenítéshez, valamint egy ApplicationService létrehozása, amely kiszolgálja a létrehozott Layert. Ezután hozzáadásra kerül egy egyedi eseménykezelő.