]> git.argeo.org Git - gpl/argeo-suite.git/blob - swt/org.argeo.app.geo.swt/src/org/argeo/app/geo/swt/MapUiProvider.java
Introduce tight integration with JavaScript classes
[gpl/argeo-suite.git] / swt / org.argeo.app.geo.swt / src / org / argeo / app / geo / swt / MapUiProvider.java
1 package org.argeo.app.geo.swt;
2
3 import org.argeo.api.acr.Content;
4 import org.argeo.app.geo.ux.OpenLayersMapPart;
5 import org.argeo.app.geo.ux.SentinelCloudless;
6 import org.argeo.app.ol.Layer;
7 import org.argeo.app.ol.OSM;
8 import org.argeo.app.ol.TileLayer;
9 import org.argeo.app.swt.js.SwtBrowserJsPart;
10 import org.argeo.app.ux.js.JsClient;
11 import org.argeo.cms.swt.acr.SwtUiProvider;
12 import org.eclipse.swt.widgets.Composite;
13 import org.eclipse.swt.widgets.Control;
14
15 /** Create map parts. */
16 public class MapUiProvider implements SwtUiProvider {
17
18 @Override
19 public Control createUiPart(Composite parent, Content context) {
20 JsClient jsClient = new SwtBrowserJsPart(parent, 0, "/pkg/org.argeo.app.js/geo.html");
21 OpenLayersMapPart mapPart = new OpenLayersMapPart(jsClient, "defaultOverviewMap");
22 mapPart.getMap().getView().setCenter(new int[] { 0, 0 });
23 mapPart.getMap().getView().setZoom(6);
24
25 Layer satelliteLayer = new TileLayer(new SentinelCloudless());
26 satelliteLayer.setMaxResolution(200);
27 mapPart.getMap().addLayer(satelliteLayer);
28 TileLayer baseLayer = new TileLayer();
29 baseLayer.setSource(new OSM());
30 baseLayer.setOpacity(0.5);
31 mapPart.getMap().addLayer(baseLayer);
32
33 // SwtJsMapPart map = new SwtJsMapPart("defaultOverviewMap", parent, 0);
34 // map.setCenter(13.404954, 52.520008); // Berlin
35 //// map.setCenter(-74.00597, 40.71427); // NYC
36 //// map.addPoint(-74.00597, 40.71427, null);
37 // map.setZoom(6);
38 // // map.addUrlLayer("https://openlayers.org/en/v4.6.5/examples/data/geojson/countries.geojson",
39 // // Format.GEOJSON);
40 return parent;
41 }
42
43 }