Vector layers and styling
[gpl/argeo-suite.git] / swt / org.argeo.app.geo.swt / src / org / argeo / app / geo / swt / MapUiProvider.java
index 517a2dc371863033ea977bd0fd8ea9898dbee7b7..283cbce735f449c2048be3aa65db35765978a5d3 100644 (file)
@@ -1,6 +1,17 @@
 package org.argeo.app.geo.swt;
 
 import org.argeo.api.acr.Content;
+import org.argeo.app.geo.ux.AbstractGeoJsObject;
+import org.argeo.app.geo.ux.OpenLayersMapPart;
+import org.argeo.app.geo.ux.SentinelCloudless;
+import org.argeo.app.ol.GeoJSON;
+import org.argeo.app.ol.Layer;
+import org.argeo.app.ol.OSM;
+import org.argeo.app.ol.TileLayer;
+import org.argeo.app.ol.VectorLayer;
+import org.argeo.app.ol.VectorSource;
+import org.argeo.app.swt.js.SwtBrowserJsPart;
+import org.argeo.app.ux.js.JsClient;
 import org.argeo.cms.swt.acr.SwtUiProvider;
 import org.eclipse.swt.widgets.Composite;
 import org.eclipse.swt.widgets.Control;
@@ -10,14 +21,32 @@ public class MapUiProvider implements SwtUiProvider {
 
        @Override
        public Control createUiPart(Composite parent, Content context) {
-               SwtJavaScriptMapPart map = new SwtJavaScriptMapPart(parent, 0);
-               map.setCenter(13.404954, 52.520008); // Berlin
-//             map.setCenter(-74.00597, 40.71427); // NYC
-//             map.addPoint(-74.00597, 40.71427, null);
-               map.setZoom(6);
-               // map.addUrlLayer("https://openlayers.org/en/v4.6.5/examples/data/geojson/countries.geojson",
-               // Format.GEOJSON);
-               return map;
+               JsClient jsClient = new SwtBrowserJsPart(parent, 0, AbstractGeoJsObject.ARGEO_APP_GEO_JS_URL);
+               OpenLayersMapPart mapPart = new OpenLayersMapPart(jsClient, "defaultOverviewMap");
+               mapPart.getMap().getView().setCenter(new int[] { 0, 0 });
+               mapPart.getMap().getView().setZoom(6);
+
+               Layer satelliteLayer = new TileLayer(new SentinelCloudless());
+               satelliteLayer.setMaxResolution(200);
+               mapPart.getMap().addLayer(satelliteLayer);
+
+               TileLayer baseLayer = new TileLayer();
+               baseLayer.setSource(new OSM());
+               baseLayer.setOpacity(0.5);
+               mapPart.getMap().addLayer(baseLayer);
+
+               Layer dataLayer = new VectorLayer(new VectorSource(
+                               "https://openlayers.org/en/v4.6.5/examples/data/geojson/countries.geojson", new GeoJSON()));
+               mapPart.getMap().addLayer(dataLayer);
+
+//             SwtJsMapPart map = new SwtJsMapPart("defaultOverviewMap", parent, 0);
+//             map.setCenter(13.404954, 52.520008); // Berlin
+////           map.setCenter(-74.00597, 40.71427); // NYC
+////           map.addPoint(-74.00597, 40.71427, null);
+//             map.setZoom(6);
+//             // map.addUrlLayer("https://openlayers.org/en/v4.6.5/examples/data/geojson/countries.geojson",
+//             // Format.GEOJSON);
+               return parent;
        }
 
 }