1 package org
.argeo
.app
.geo
.swt
;
3 import org
.argeo
.api
.acr
.Content
;
4 import org
.argeo
.app
.geo
.ux
.AbstractGeoJsObject
;
5 import org
.argeo
.app
.geo
.ux
.OpenLayersMapPart
;
6 import org
.argeo
.app
.geo
.ux
.SentinelCloudless
;
7 import org
.argeo
.app
.ol
.GeoJSON
;
8 import org
.argeo
.app
.ol
.Layer
;
9 import org
.argeo
.app
.ol
.OSM
;
10 import org
.argeo
.app
.ol
.TileLayer
;
11 import org
.argeo
.app
.ol
.VectorLayer
;
12 import org
.argeo
.app
.ol
.VectorSource
;
13 import org
.argeo
.app
.swt
.js
.SwtBrowserJsPart
;
14 import org
.argeo
.app
.ux
.js
.JsClient
;
15 import org
.argeo
.cms
.swt
.acr
.SwtUiProvider
;
16 import org
.eclipse
.swt
.widgets
.Composite
;
17 import org
.eclipse
.swt
.widgets
.Control
;
19 /** Create map parts. */
20 public class MapUiProvider
implements SwtUiProvider
{
23 public Control
createUiPart(Composite parent
, Content context
) {
24 JsClient jsClient
= new SwtBrowserJsPart(parent
, 0, AbstractGeoJsObject
.ARGEO_APP_GEO_JS_URL
);
25 OpenLayersMapPart mapPart
= new OpenLayersMapPart(jsClient
, "defaultOverviewMap");
26 mapPart
.getMap().getView().setCenter(new int[] { 0, 0 });
27 mapPart
.getMap().getView().setZoom(6);
29 Layer satelliteLayer
= new TileLayer(new SentinelCloudless());
30 satelliteLayer
.setMaxResolution(200);
31 mapPart
.getMap().addLayer(satelliteLayer
);
33 TileLayer baseLayer
= new TileLayer();
34 baseLayer
.setSource(new OSM());
35 baseLayer
.setOpacity(0.5);
36 mapPart
.getMap().addLayer(baseLayer
);
38 Layer dataLayer
= new VectorLayer(new VectorSource(
39 "https://openlayers.org/en/v4.6.5/examples/data/geojson/countries.geojson", new GeoJSON()));
40 mapPart
.getMap().addLayer(dataLayer
);
42 // SwtJsMapPart map = new SwtJsMapPart("defaultOverviewMap", parent, 0);
43 // map.setCenter(13.404954, 52.520008); // Berlin
44 //// map.setCenter(-74.00597, 40.71427); // NYC
45 //// map.addPoint(-74.00597, 40.71427, null);
47 // // map.addUrlLayer("https://openlayers.org/en/v4.6.5/examples/data/geojson/countries.geojson",
48 // // Format.GEOJSON);