Fix order of coordinates in BBOX
[gpl/argeo-suite.git] / org.argeo.app.geo / src / org / argeo / app / geo / ux / OpenLayersMapPart.java
index 8fad7e26b8ee50a2adc22330a6e6a61aa5e24d01..e6edbf6e2861cb556fc1fb7cc9b35e3c13d19c06 100644 (file)
@@ -7,8 +7,12 @@ import org.argeo.app.ol.TileLayer;
 import org.argeo.app.ol.VectorLayer;
 import org.argeo.app.ux.js.JsClient;
 
+/**
+ * A wrapper around an OpenLayers map, adding specific features, such as SLD
+ * styling.
+ */
 public class OpenLayersMapPart extends AbstractGeoJsObject {
-       private String mapPartName;
+       private final String mapPartName;
 
        public OpenLayersMapPart(JsClient jsClient, String mapPartName) {
                super(mapPartName);
@@ -24,13 +28,17 @@ public class OpenLayersMapPart extends AbstractGeoJsObject {
                executeMethod(getMethodName(), JsClient.escapeQuotes(xml));
        }
 
+       public void setCenter(Double lat, Double lon) {
+               executeMethod(getMethodName(), lat, lon);
+       }
+
        public void applyStyle(String layerName, String styledLayerName) {
                executeMethod(getMethodName(), layerName, styledLayerName);
        }
 
        public Layer getLayer(String name) {
                // TODO deal with not found
-               String reference = "getLayerByName('" + name + "')";
+               String reference = getReference() + ".getLayerByName('" + name + "')";
                if (getJsClient().isInstanceOf(reference, AbstractOlObject.getJsClassName(VectorLayer.class))) {
                        return new VectorLayer(getJsClient(), reference);
                } else if (getJsClient().isInstanceOf(reference, AbstractOlObject.getJsClassName(TileLayer.class))) {
@@ -39,4 +47,9 @@ public class OpenLayersMapPart extends AbstractGeoJsObject {
                        return new Layer(getJsClient(), reference);
                }
        }
+
+       public String getMapPartName() {
+               return mapPartName;
+       }
+
 }