]>
git.argeo.org Git - gpl/argeo-suite.git/blob - org.argeo.app.geo/src/org/argeo/app/geo/ux/OpenLayersMapPart.java
1 package org
.argeo
.app
.geo
.ux
;
3 import org
.argeo
.app
.ol
.AbstractOlObject
;
4 import org
.argeo
.app
.ol
.Layer
;
5 import org
.argeo
.app
.ol
.OlMap
;
6 import org
.argeo
.app
.ol
.TileLayer
;
7 import org
.argeo
.app
.ol
.VectorLayer
;
8 import org
.argeo
.app
.ux
.js
.JsClient
;
11 * A wrapper around an OpenLayers map, adding specific features, such as SLD
14 public class OpenLayersMapPart
extends AbstractGeoJsObject
{
15 private final String mapPartName
;
17 public OpenLayersMapPart(JsClient jsClient
, String mapPartName
) {
19 this.mapPartName
= mapPartName
;
20 create(jsClient
, mapPartName
);
23 public OlMap
getMap() {
24 return new OlMap(getJsClient(), getReference() + ".getMap()");
27 public void setSld(String xml
) {
28 executeMethod(getMethodName(), JsClient
.escapeQuotes(xml
));
31 public void setCenter(Double lat
, Double lon
) {
32 executeMethod(getMethodName(), lat
, lon
);
35 public void applyStyle(String layerName
, String styledLayerName
) {
36 executeMethod(getMethodName(), layerName
, styledLayerName
);
39 public Layer
getLayer(String name
) {
40 // TODO deal with not found
41 String reference
= getReference() + ".getLayerByName('" + name
+ "')";
42 if (getJsClient().isInstanceOf(reference
, AbstractOlObject
.getJsClassName(VectorLayer
.class))) {
43 return new VectorLayer(getJsClient(), reference
);
44 } else if (getJsClient().isInstanceOf(reference
, AbstractOlObject
.getJsClassName(TileLayer
.class))) {
45 return new TileLayer(getJsClient(), reference
);
47 return new Layer(getJsClient(), reference
);
51 public String
getMapPartName() {