Start experimenting with another approach for maps.
authorMathieu Baudier <mbaudier@argeo.org>
Wed, 21 Jul 2021 08:39:49 +0000 (10:39 +0200)
committerMathieu Baudier <mbaudier@argeo.org>
Wed, 21 Jul 2021 08:39:49 +0000 (10:39 +0200)
environment/org.argeo.geo.ui/bnd.bnd
environment/org.argeo.geo.ui/src/org/argeo/support/openlayers/OLMap.java [new file with mode: 0644]
environment/org.argeo.geo.ui/src/org/argeo/support/openlayers/OverviewMap.java
environment/org.argeo.geo.ui/src/org/argeo/support/openlayers/map.js [new file with mode: 0644]

index a50ed4316ed5fbf11471f50e2d8b12a806e7bd2e..4fdb49b7f0ffe471feb01190660d52655e11ae64 100644 (file)
@@ -12,3 +12,6 @@ org.osgi.framework,\
 Service-Component:\
 OSGI-INF/mapLayer.xml,\
 OSGI-INF/overviewMap.xml
+
+Provide-Capability:\
+cms.publish;pkg=org.djapps.on.openheritage.ui,file="*.png,*.js,*.html"
\ No newline at end of file
diff --git a/environment/org.argeo.geo.ui/src/org/argeo/support/openlayers/OLMap.java b/environment/org.argeo.geo.ui/src/org/argeo/support/openlayers/OLMap.java
new file mode 100644 (file)
index 0000000..ac104c6
--- /dev/null
@@ -0,0 +1,21 @@
+package org.argeo.support.openlayers;
+
+import org.argeo.cms.ui.util.CmsUiUtils;
+import org.eclipse.swt.SWT;
+import org.eclipse.swt.widgets.Composite;
+import org.eclipse.swt.widgets.Label;
+
+public class OLMap extends Composite {
+       private Label div;
+
+       public OLMap(Composite parent, int style) {
+               super(parent, style);
+               setLayout(CmsUiUtils.noSpaceGridLayout());
+               div = new Label(this, SWT.NONE);
+               CmsUiUtils.markup(div);
+               CmsUiUtils.disableMarkupValidation(div);
+               div.setText("<div id='map'></div>");
+               div.setLayoutData(CmsUiUtils.fillAll());
+       }
+
+}
index 8ecdc1c6f2d28060d2260f91fdce5c846aac6aff..b2fd01ed0839967a80713ad3cc43e9f11c504e61 100644 (file)
@@ -56,11 +56,11 @@ public class OverviewMap implements CmsUiProvider {
                Query query = context.getSession().getWorkspace().getQueryManager()
                                .createQuery("SELECT * FROM [" + EntityType.geopoint.get() + "]", Query.JCR_SQL2);
                List<Node> geoPoints = JcrUtils.nodeIteratorToList(query.execute().getNodes());
-               OpenLayersMap apafMap = new OpenLayersMap(parent, SWT.NONE, getClass().getResource("map-osm.html"));
-               apafMap.setLayoutData(CmsUiUtils.fillAll());
+               OpenLayersMap map = new OpenLayersMap(parent, SWT.NONE, getClass().getResource("map-osm.html"));
+               map.setLayoutData(CmsUiUtils.fillAll());
 
                // apafMap.setZoom(7);
                // apafMap.setCenter(-2.472, 8.010);
-               apafMap.addPoints(geoPoints);
+               map.addPoints(geoPoints);
        }
 }
diff --git a/environment/org.argeo.geo.ui/src/org/argeo/support/openlayers/map.js b/environment/org.argeo.geo.ui/src/org/argeo/support/openlayers/map.js
new file mode 100644 (file)
index 0000000..68489fb
--- /dev/null
@@ -0,0 +1,11 @@
+var map = new ol.Map({
+       target : 'map',
+       layers : [ new ol.layer.Tile({
+               source : new ol.source.OSM()
+       }) ],
+       view : new ol.View({
+               center : ol.proj.fromLonLat([ 34, 34 ]),
+               zoom : 4
+       })
+});
+               
\ No newline at end of file