diff --git a/src/main/java/org/gcube/portlets/user/geoportaldataviewer/client/GeoportalDataViewer.java b/src/main/java/org/gcube/portlets/user/geoportaldataviewer/client/GeoportalDataViewer.java index 300e2ed..d6c11a7 100644 --- a/src/main/java/org/gcube/portlets/user/geoportaldataviewer/client/GeoportalDataViewer.java +++ b/src/main/java/org/gcube/portlets/user/geoportaldataviewer/client/GeoportalDataViewer.java @@ -1,16 +1,16 @@ package org.gcube.portlets.user.geoportaldataviewer.client; +import org.gcube.portlets.user.geoportaldataviewer.client.gis.OsmExample; import org.gcube.portlets.user.geoportaldataviewer.client.ui.GeonaDataViewMainPanel; import com.google.gwt.core.client.EntryPoint; import com.google.gwt.core.client.GWT; import com.google.gwt.core.client.Scheduler; import com.google.gwt.core.client.Scheduler.ScheduledCommand; -import com.google.gwt.dom.client.Style.Unit; -import com.google.gwt.user.client.ui.HTMLPanel; +import com.google.gwt.event.logical.shared.ResizeEvent; +import com.google.gwt.event.logical.shared.ResizeHandler; +import com.google.gwt.user.client.Window; import com.google.gwt.user.client.ui.RootPanel; -import com.google.gwt.user.client.ui.SimplePanel; -import com.google.gwt.user.client.ui.TabLayoutPanel; /** * Entry point classes define onModuleLoad(). @@ -34,6 +34,10 @@ public class GeoportalDataViewer implements EntryPoint { public final static String APP_DIV = "geoportal-data-viewer"; private boolean initialized = false; + + private OsmExample osmExample = null; + + private GeonaDataViewMainPanel mainPanel; /** * This is the entry point method. */ @@ -44,7 +48,7 @@ public class GeoportalDataViewer implements EntryPoint { // htmlPanel.setHeight("500px"); // htmlPanel.getElement().setId("map"); // - GeonaDataViewMainPanel mainPanel = new GeonaDataViewMainPanel(); + mainPanel = new GeonaDataViewMainPanel(); RootPanel.get(APP_DIV).add(mainPanel); @@ -52,29 +56,20 @@ public class GeoportalDataViewer implements EntryPoint { @Override public void execute() { - new OsmExample(mainPanel.getMapPanel().getElement().getId()); + osmExample = new OsmExample(mainPanel.getMapPanel().getElement().getId()); //new OsmExample(htmlPanel.getElement().getId()); } }); -// SimplePanel sp = new SimplePanel() { -// -// @Override -// public void setVisible(boolean visible) { -// if (visible && !initialized) { -// Scheduler.get().scheduleDeferred(() -> example.getExample().show(example.getExample().toString())); -// initialized = true; -// } -// super.setVisible(visible); -// -// if (visible) { -// History.newItem(example.name()); -// } -// } -// }; - - - + Window.addResizeHandler(new ResizeHandler() { + @Override + public void onResize(ResizeEvent event) { + GWT.log("onWindowResized width: "+event.getWidth()+" height: "+event.getHeight()); + mainPanel.setHeight(event.getHeight()-200); + } + }); } + + } diff --git a/src/main/java/org/gcube/portlets/user/geoportaldataviewer/client/DemoUtils.java b/src/main/java/org/gcube/portlets/user/geoportaldataviewer/client/gis/DemoUtils.java similarity index 97% rename from src/main/java/org/gcube/portlets/user/geoportaldataviewer/client/DemoUtils.java rename to src/main/java/org/gcube/portlets/user/geoportaldataviewer/client/gis/DemoUtils.java index ddc85c6..7f04fda 100644 --- a/src/main/java/org/gcube/portlets/user/geoportaldataviewer/client/DemoUtils.java +++ b/src/main/java/org/gcube/portlets/user/geoportaldataviewer/client/gis/DemoUtils.java @@ -1,4 +1,6 @@ -package org.gcube.portlets.user.geoportaldataviewer.client; +package org.gcube.portlets.user.geoportaldataviewer.client.gis; + +import org.gcube.portlets.user.geoportaldataviewer.client.GeoportalDataViewerConstants; import com.google.gwt.dom.client.Document; import com.google.gwt.dom.client.LinkElement; diff --git a/src/main/java/org/gcube/portlets/user/geoportaldataviewer/client/OsmExample.java b/src/main/java/org/gcube/portlets/user/geoportaldataviewer/client/gis/OsmExample.java similarity index 95% rename from src/main/java/org/gcube/portlets/user/geoportaldataviewer/client/OsmExample.java rename to src/main/java/org/gcube/portlets/user/geoportaldataviewer/client/gis/OsmExample.java index 6f35055..f602b26 100644 --- a/src/main/java/org/gcube/portlets/user/geoportaldataviewer/client/OsmExample.java +++ b/src/main/java/org/gcube/portlets/user/geoportaldataviewer/client/gis/OsmExample.java @@ -1,6 +1,9 @@ -package org.gcube.portlets.user.geoportaldataviewer.client; +package org.gcube.portlets.user.geoportaldataviewer.client.gis; + +import org.gcube.portlets.user.geoportaldataviewer.client.GeoportalDataViewerConstants; import ol.Coordinate; +import ol.Extent; import ol.Map; import ol.MapOptions; import ol.OLFactory; @@ -69,16 +72,19 @@ public class OsmExample { Projection projection = new Projection(projectionOptions); viewOptions.setProjection(projection); + viewOptions.setMaxZoom(19); + //viewOptions.setExtent(new Extent(-180, -90, 180, 90)); // create a view view = new View(viewOptions); - Coordinate centerCoordinate = OLFactory.createCoordinate(-0.1275, 51.507222); + //EPSG_4326_TO_ITALY + Coordinate centerCoordinate = OLFactory.createCoordinate(12.45, 42.98); Coordinate transformedCenterCoordinate = Projection.transform(centerCoordinate, GeoportalDataViewerConstants.EPSG_4326, GeoportalDataViewerConstants.EPSG_3857); - Coordinate coordinate = new Coordinate(16, 48); - view.setCenter(coordinate); - view.setZoom(10); + view.setCenter(transformedCenterCoordinate); + view.setZoom(5); + // create the map MapOptions mapOptions = OLFactory.createOptions(); diff --git a/src/main/java/org/gcube/portlets/user/geoportaldataviewer/client/ui/GeonaDataViewMainPanel.java b/src/main/java/org/gcube/portlets/user/geoportaldataviewer/client/ui/GeonaDataViewMainPanel.java index 5cdf8cb..22264ec 100644 --- a/src/main/java/org/gcube/portlets/user/geoportaldataviewer/client/ui/GeonaDataViewMainPanel.java +++ b/src/main/java/org/gcube/portlets/user/geoportaldataviewer/client/ui/GeonaDataViewMainPanel.java @@ -27,6 +27,10 @@ public class GeonaDataViewMainPanel extends Composite { htmlPanel.setHeight("600px"); mapPanel.add(htmlPanel); } + + public void setHeight(int height) { + htmlPanel.setHeight(height +"px"); + } public HTMLPanel getMapPanel() { return htmlPanel;