Vector layers and styling
[gpl/argeo-suite.git] / swt / org.argeo.app.geo.swt / src / org / argeo / app / geo / swt / MapUiProvider.java
index 55c7d6cfb269467d45bc826ec1e61db2fed243c8..283cbce735f449c2048be3aa65db35765978a5d3 100644 (file)
@@ -1,11 +1,15 @@
 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;
@@ -17,7 +21,7 @@ public class MapUiProvider implements SwtUiProvider {
 
        @Override
        public Control createUiPart(Composite parent, Content context) {
-               JsClient jsClient = new SwtBrowserJsPart(parent, 0, "/pkg/org.argeo.app.js/geo.html");
+               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);
@@ -25,11 +29,16 @@ public class MapUiProvider implements SwtUiProvider {
                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