import org.argeo.gis.ui.MapContextProvider;
import org.argeo.gis.ui.MapControlCreator;
+import org.argeo.gis.ui.rap.openlayers.custom.BingLayer;
+import org.argeo.gis.ui.rap.openlayers.custom.GoogleLayer;
import org.eclipse.swt.SWT;
import org.eclipse.swt.layout.GridData;
import org.eclipse.swt.widgets.Composite;
import org.polymap.openlayers.rap.widget.OpenLayersWidget;
import org.polymap.openlayers.rap.widget.base_types.OpenLayersMap;
+import org.polymap.openlayers.rap.widget.base_types.Projection;
import org.polymap.openlayers.rap.widget.controls.KeyboardDefaultsControl;
import org.polymap.openlayers.rap.widget.controls.LayerSwitcherControl;
import org.polymap.openlayers.rap.widget.controls.MouseDefaultsControl;
+import org.polymap.openlayers.rap.widget.controls.NavigationControl;
+import org.polymap.openlayers.rap.widget.controls.OverviewMapControl;
import org.polymap.openlayers.rap.widget.controls.PanZoomBarControl;
import org.polymap.openlayers.rap.widget.controls.ScaleControl;
import org.polymap.openlayers.rap.widget.layers.OSMLayer;
openLayersWidget.setLayoutData(new GridData(GridData.FILL_BOTH));
OpenLayersMap map = openLayersWidget.getMap();
+ map.setProjection(new Projection("EPSG:900913"));
+ map.setDisplayProjection(new Projection("EPSG:4326"));
+ map.setUnits("m");
map.addControl(new LayerSwitcherControl());
- map.addControl(new MouseDefaultsControl());
+ NavigationControl navigationControl = new NavigationControl();
+ navigationControl.setObjAttr("handleRightClicks", true);
+ navigationControl.setObjAttr("zoomBoxEnabled", true);
+ map.addControl(navigationControl);
map.addControl(new KeyboardDefaultsControl());
map.addControl(new PanZoomBarControl());
map.addControl(new ScaleControl());
-// WMSLayer baseLayer = new WMSLayer("argeo_dev",
-// "https://dev.argeo.org/geoserver/wms?",
-// "naturalearth:10m_admin_0_countries");
+ // WMSLayer baseLayer = new WMSLayer("argeo_dev",
+ // "https://dev.argeo.org/geoserver/wms?",
+ // "naturalearth:10m_admin_0_countries");
- OSMLayer baseLayer = new OSMLayer("OSM",
+ OSMLayer osmLayer = new OSMLayer("OSM",
"http://tile.openstreetmap.org/${z}/${x}/${y}.png", 19);
- map.addLayer(baseLayer);
+ map.addLayer(osmLayer);
+
+ map.addControl(new OverviewMapControl());
+
+ // map.addLayer(new BingLayer("Bing Aerial", BingLayer.AERIAL));
MapContextAdapter mapContextAdapter = new MapContextAdapter(
mapContextProvider.getMapContext(), map);
// FIXME: find a better way to register it
openLayersWidget.setData(mapContextAdapter);
+ // openLayersWidget.addMouseListener(mapContextAdapter);
return openLayersWidget;
}