From 5a84d3a990d941ed3d75ebd1815e3b402451e34b Mon Sep 17 00:00:00 2001 From: "francesco.mangiacrapa" Date: Wed, 1 Sep 2021 16:26:07 +0200 Subject: [PATCH] added "Extent To" facility --- .settings/org.eclipse.wst.common.component | 3 -- .../client/GeoportalDataViewer.java | 12 ++++++ .../client/resources/Images.java | 9 +++-- .../client/resources/italy.png | Bin 1398 -> 1420 bytes .../client/resources/world.png | Bin 0 -> 3258 bytes .../client/ui/GeonaDataViewMainPanel.java | 37 +++++++++++++++++- .../client/ui/GeonaDataViewMainPanel.ui.xml | 13 +++++- .../client/ui/map/ExtentMapUtil.java | 12 ++++-- 8 files changed, 73 insertions(+), 13 deletions(-) create mode 100644 src/main/java/org/gcube/portlets/user/geoportaldataviewer/client/resources/world.png diff --git a/.settings/org.eclipse.wst.common.component b/.settings/org.eclipse.wst.common.component index 70f376c..6ddcc0f 100644 --- a/.settings/org.eclipse.wst.common.component +++ b/.settings/org.eclipse.wst.common.component @@ -69,9 +69,6 @@ - - uses - 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 e2e42de..c7c7ed8 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 @@ -13,6 +13,8 @@ import org.gcube.portlets.user.geoportaldataviewer.client.events.AddedLayerToMap import org.gcube.portlets.user.geoportaldataviewer.client.events.AddedLayerToMapEventHandler; import org.gcube.portlets.user.geoportaldataviewer.client.events.ClosedViewDetailsEvent; import org.gcube.portlets.user.geoportaldataviewer.client.events.ClosedViewDetailsEventHandler; +import org.gcube.portlets.user.geoportaldataviewer.client.events.MapExtentToEvent; +import org.gcube.portlets.user.geoportaldataviewer.client.events.MapExtentToEventHandler; import org.gcube.portlets.user.geoportaldataviewer.client.events.QueryDataEvent; import org.gcube.portlets.user.geoportaldataviewer.client.events.ShowDetailsEvent; import org.gcube.portlets.user.geoportaldataviewer.client.events.ShowDetailsEventHandler; @@ -324,6 +326,16 @@ public class GeoportalDataViewer implements EntryPoint { } }); + + applicationBus.addHandler(MapExtentToEvent.TYPE, new MapExtentToEventHandler() { + + @Override + public void onExtentEvent(MapExtentToEvent mapExtentToEvent) { + // TODO Auto-generated method stub + + } + }); + } private void performWFSQueryOnCentroid(RecordDV record) { diff --git a/src/main/java/org/gcube/portlets/user/geoportaldataviewer/client/resources/Images.java b/src/main/java/org/gcube/portlets/user/geoportaldataviewer/client/resources/Images.java index 0843c61..c097d2a 100644 --- a/src/main/java/org/gcube/portlets/user/geoportaldataviewer/client/resources/Images.java +++ b/src/main/java/org/gcube/portlets/user/geoportaldataviewer/client/resources/Images.java @@ -10,13 +10,16 @@ public interface Images extends ClientBundle { @Source("loading.gif") ImageResource loading(); - + @Source("map-marker-icon.png") ImageResource mapMarkerIcon(); - + @Source("icon_share.png") ImageResource shareIcon(); - + @Source("italy.png") ImageResource italyIcon(); + + @Source("world.png") + ImageResource worldIcon(); } diff --git a/src/main/java/org/gcube/portlets/user/geoportaldataviewer/client/resources/italy.png b/src/main/java/org/gcube/portlets/user/geoportaldataviewer/client/resources/italy.png index e68a7a0dcf46d504cd279135eeb2b9feab20d7fa..9992bc98d69ff2033471c8334eb392b1af2f1f4b 100644 GIT binary patch delta 1342 zcmV-E1;P6E3XBVoJPO7D0071TuymWnkwzzf1qn$+K~z|U&DdXz-9;4#@X!2q+r4Wk zNb4U~YOAqDp@iCCYFkQE1F^o;l1L>cBnARTj7m&&_bz|JeQ?>`riqD9ZV6EmBWxNY zF|`3T2<_IGY9Z2UDoJSpEiKqTD6RX4z2n17?cLqm?f$tBexGK}oH^$^=bkxpem9tZ zGAbo1LzExFVl1P&iLL*hx{ZklQ*?eAgF6YW#8p{%lF&!>DNY|^`$&Tbw69|8zBKOm zGOfR6s1KJDzmSzi@EYc#iVxx$4&T9!(diIq9y|R`E5#1lw@~~OKVq;M$MI&3;wT{y zk79ii#lzEeo(Z(ir&xov`6P=ex`=Oo5U$L6^D}{A;>#2z;`KO#L9`G)FRnF>3+JV<+K(B<+}+RFF1!#%0!Oi72;X65%&{L)$H$|jdM~GUY(4O!BXsh#ys3e zaVj}40`UN1S__}Sj#(0jPY}v@Uyb}=HLe6 z?Uc7PfI!?VJw6{u^X2)p$C@au#Q7Vs1{+eNBA0JZ(sAch2{hFgue$=92>lG~IKU_OW0Xw`9Vv6BeKa#|fX}rt4WZhnrWju8o0L>v_6Z4(!JW)j!u?-Z4r~7q+K) zScP+VE+1++;j@Ha;%9_^@o&wg2=u&2xR2H+FSaqEbRVGuXQgIl4&i7%z?rNR(psfd z&qAF-^xb)EJ4@%caUCt+pi<`@s73pH%%^C_{WS}_rHEW3y)%8h*T=TECLvJ%Ch-Qs zJyP$tg6_XgPC!6Rg{b%;HcQdnkClX%h>N5sogm&t@3YkZ36>Lo?#)J<^NqL^a+03O z#=|DOB=s4Qcw=%N4q}M#3?09qGPe$a*gbCk!W0N(Y#*Wb9lCcBo|SsWJ$bPp_RzF} z_#j~^gFkJaXe2aC&1qf>mrb2OExI3|^Ht)tQs|FR>d*P~DCNV%_Bs(Lz2!m%%ijkx zL8SXJ;%~5=IA~0N*VWTc^KEqq3@`P+3JAl0pCN&a)4#<*!tD&cn4b3Y=z61G5-!9L z`tcCk-ku$S?IY54gk`DexqvzZ=I%|I-`tt2-S|#)8rYIcef4RaCVrjb@XYO96qVY8 zgfy>Qp4Z+_`CZDttG9EC9noai(!|h}ROV(uq!Ll3VycZF+keOaLDEG}Qs=3#uMIPS4TFEXzD#lYWK+n3MNgpcCGtli1pW0UQiMFct*(tUEG{97%|+l4kxt(fV5M-9OF zcK-hy4a$KjT6A8=O|9&Gr}4HYpi*2Yw==_k0Uxn!f%4=JUjP6A07*qoM6N<$f>1`D Ay8r+H delta 1320 zcmV+@1=sqF3-$_-JPODF0077V6#dsbkwzzf1oKHmK~z|U#n)eqoK+de@y~hRDQzi5 zwAN5^v&C^u#TP#WK?%%{1P{;O#oz)xtF@Fw198Q4hhVIT3b z!ZtWl=LNtc3mLwc>=G=-GMbz4IzC!|j9XX$4C5ut!)Ng>KEPajW~R=ir>L$YJc=X4 zorFvAEWS8?Xmg0{Rh)&TWA^wS;XdNu@G8B3o*@8Ke@6Ja6lAc|Sg?)i4V-Cw+|+2? zM)_YeaoVbk>WzdeTbv`#D}KC5c!hWvORx)XxA1T2#5t4*pDGq_QCNW;SU|jgknnbL z9s&jsi3^AqVQYr~jR(lTi&I7or4wg%2v9kbzBxtXIpdB&HX`ld^1@KUHM0m%TTZDbU9-TtIX5L|ja`oP2&U9`PZn*G?CpG>LsXx{GgYERxV@)l>N~*?d9~ z^>H|T!dwgyZl!t=o*I6~M?t)I#%Z2+1-oX~#y_yD8YFhcp?^ll?OhEEm=igbD1E2Z!6V+HwxZH{4H z!ck*K^t9;%w5t1i^#7gaxrD`py}Y=kh^Kp~4dV7TJJ8r~EP|08I5B__x$1uM-(fZJ z16H+ET|HaK*S7(Gn6tu%84$uhPYhsG`yZFyeJ}a*>1rR<`q$e499@JX*h0LM?zcJv z*f1g$xTHU{=d|{=0XXyrVi%1&Qnm{dE72LKlBe(RFy6s8iGwG;-lW>t@*pv!_JgOV zcK;dF4pD!q-OR}@qZz1@Q#ymn`;>=^f)!hvRIkKJGzmX{YBzhDHDNnFRpOnM=p!!2 zAf6KCiN7Hmr1=)T_s%i^^nZ@#vslo+Kl?P@`=(lA>xrX?8dY_v;ALCSC)ZV^rF1079?QW^4Plisa^OLH|s`2^$|Ei7I eSh_ti{SQME7kH|s+8b#A0000fq!&tVg*1q%+ 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 literal 0 HcmV?d00001 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 f18bad3..4721c13 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 @@ -3,14 +3,18 @@ package org.gcube.portlets.user.geoportaldataviewer.client.ui; import org.gcube.application.geoportalcommon.shared.GeoNaItemRef; import org.gcube.application.geoportalcommon.shared.products.ConcessioneDV; import org.gcube.application.geoportalcommon.shared.products.model.RecordDV; +import org.gcube.portlets.user.geoportaldataviewer.client.GeoportalDataViewerConstants.MAP_PROJECTION; import org.gcube.portlets.user.geoportaldataviewer.client.events.MapExtentToEvent; import org.gcube.portlets.user.geoportaldataviewer.client.gis.OpenLayerOSM; +import org.gcube.portlets.user.geoportaldataviewer.client.resources.Images; import org.gcube.portlets.user.geoportaldataviewer.client.ui.map.ExtentMapUtil; +import org.gcube.portlets.user.geoportaldataviewer.client.ui.map.ExtentMapUtil.Location; import com.github.gwtbootstrap.client.ui.Button; import com.github.gwtbootstrap.client.ui.NavLink; import com.github.gwtbootstrap.client.ui.constants.IconType; import com.google.gwt.core.client.GWT; +import com.google.gwt.dom.client.Style.Unit; import com.google.gwt.event.dom.client.ClickEvent; import com.google.gwt.event.dom.client.ClickHandler; import com.google.gwt.event.shared.HandlerManager; @@ -18,6 +22,7 @@ import com.google.gwt.uibinder.client.UiBinder; import com.google.gwt.uibinder.client.UiField; import com.google.gwt.user.client.ui.Composite; import com.google.gwt.user.client.ui.HTMLPanel; +import com.google.gwt.user.client.ui.Image; import com.google.gwt.user.client.ui.Widget; /** @@ -61,6 +66,9 @@ public class GeonaDataViewMainPanel extends Composite { @UiField Button extentToItaly; + + @UiField + Button extentToEarth; private MapPanel mapPanel; @@ -84,8 +92,18 @@ public class GeonaDataViewMainPanel extends Composite { bindHandlers(); dataPointSelection.setIcon(IconType.SCREENSHOT); dataBoxSelection.setIcon(IconType.BOOKMARK); - removeQuery.setIcon(IconType.REMOVE); + + Image italyImg = new Image(Images.ICONS.italyIcon()); + italyImg.getElement().getStyle().setPaddingLeft(20, Unit.PX); + extentToItaly.getElement().appendChild(italyImg.getElement()); + extentToItaly.setWidth("140px"); + + Image worldImg = new Image(Images.ICONS.worldIcon()); + worldImg.getElement().getStyle().setPaddingLeft(20, Unit.PX); + extentToEarth.getElement().appendChild(worldImg.getElement()); + extentToEarth.setWidth("140px"); + } /** @@ -161,7 +179,22 @@ public class GeonaDataViewMainPanel extends Composite { @Override public void onClick(ClickEvent event) { - applicationBus.fireEvent(new MapExtentToEvent(ExtentMapUtil.getLocation(ExtentMapUtil.PLACE.ITALY))); + Location italyLocation = ExtentMapUtil.getLocation(ExtentMapUtil.PLACE.ITALY); + applicationBus.fireEvent(new MapExtentToEvent(italyLocation)); + map.setCenter(italyLocation.getCoordinate(MAP_PROJECTION.EPSG_3857)); + map.setZoom(italyLocation.getZoomLevel()); + + } + }); + + extentToEarth.addClickHandler(new ClickHandler() { + + @Override + public void onClick(ClickEvent event) { + Location earthLocation = ExtentMapUtil.getLocation(ExtentMapUtil.PLACE.EARTH); + applicationBus.fireEvent(new MapExtentToEvent(earthLocation)); + map.setCenter(earthLocation.getCoordinate(MAP_PROJECTION.EPSG_3857)); + map.setZoom(earthLocation.getZoomLevel()); } }); diff --git a/src/main/java/org/gcube/portlets/user/geoportaldataviewer/client/ui/GeonaDataViewMainPanel.ui.xml b/src/main/java/org/gcube/portlets/user/geoportaldataviewer/client/ui/GeonaDataViewMainPanel.ui.xml index f81d0da..ba74905 100644 --- a/src/main/java/org/gcube/portlets/user/geoportaldataviewer/client/ui/GeonaDataViewMainPanel.ui.xml +++ b/src/main/java/org/gcube/portlets/user/geoportaldataviewer/client/ui/GeonaDataViewMainPanel.ui.xml @@ -32,6 +32,17 @@ + + + + + + + + @@ -42,8 +53,6 @@ Selection - diff --git a/src/main/java/org/gcube/portlets/user/geoportaldataviewer/client/ui/map/ExtentMapUtil.java b/src/main/java/org/gcube/portlets/user/geoportaldataviewer/client/ui/map/ExtentMapUtil.java index 384ddc6..cfd4f11 100644 --- a/src/main/java/org/gcube/portlets/user/geoportaldataviewer/client/ui/map/ExtentMapUtil.java +++ b/src/main/java/org/gcube/portlets/user/geoportaldataviewer/client/ui/map/ExtentMapUtil.java @@ -27,7 +27,7 @@ public class ExtentMapUtil { * Sep 1, 2021 */ public static enum PLACE { - ITALY + ITALY, EARTH } final static Map mapExtent = new HashMap(); @@ -35,11 +35,17 @@ public class ExtentMapUtil { static { // EPSG_4326 ITALY LOCATION - Location location = new Location(PLACE.ITALY.name(), GeoportalDataViewerConstants.ITALY_CENTER_LONG, + Location ita = new Location(PLACE.ITALY.name(), GeoportalDataViewerConstants.ITALY_CENTER_LONG, GeoportalDataViewerConstants.ITALY_CENTER_LAT, MAP_PROJECTION.EPSG_4326, GeoportalDataViewerConstants.MAP_ITALY_FIT_ZOOM_ON); + + // EPSG_4326 EARTH LOCATION + Location earth = new Location(PLACE.EARTH.name(), 0, + 0, MAP_PROJECTION.EPSG_4326, + 2); - mapExtent.put(PLACE.ITALY, location); + mapExtent.put(PLACE.ITALY, ita); + mapExtent.put(PLACE.EARTH, earth); }