]>
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
;
5 import org
.argeo
.app
.ol
.AbstractOlObject
;
6 import org
.argeo
.app
.ol
.Layer
;
7 import org
.argeo
.app
.ol
.OlMap
;
8 import org
.argeo
.app
.ol
.TileLayer
;
9 import org
.argeo
.app
.ol
.VectorLayer
;
10 import org
.argeo
.app
.ux
.js
.JsClient
;
11 import org
.locationtech
.jts
.geom
.Envelope
;
14 * A wrapper around an OpenLayers map, adding specific features, such as SLD
17 public class OpenLayersMapPart
extends AbstractGeoJsObject
{
18 private final String mapPartName
;
20 public OpenLayersMapPart(JsClient jsClient
, String mapPartName
) {
22 this.mapPartName
= mapPartName
;
23 create(jsClient
, mapPartName
);
26 public OlMap
getMap() {
27 return new OlMap(getJsClient(), getReference() + ".getMap()");
30 public void setSld(String xml
) {
31 executeMethod(getMethodName(), JsClient
.escapeQuotes(xml
));
34 public void setCenter(Double lat
, Double lon
) {
35 executeMethod(getMethodName(), lat
, lon
);
38 public void fit(double[] extent
, Map
<String
, Object
> options
) {
39 executeMethod(getMethodName(), extent
, options
);
42 public void fit(Envelope extent
, Map
<String
, Object
> options
) {
43 fit(new double[] { extent
.getMinX(), extent
.getMinY(), extent
.getMaxX(), extent
.getMaxY() }, options
);
46 public void applyStyle(String layerName
, String styledLayerName
) {
47 executeMethod(getMethodName(), layerName
, styledLayerName
);
50 public Layer
getLayer(String name
) {
51 // TODO deal with not found
52 String reference
= getReference() + ".getLayerByName('" + name
+ "')";
53 if (getJsClient().isInstanceOf(reference
, AbstractOlObject
.getJsClassName(VectorLayer
.class))) {
54 return new VectorLayer(getJsClient(), reference
);
55 } else if (getJsClient().isInstanceOf(reference
, AbstractOlObject
.getJsClassName(TileLayer
.class))) {
56 return new TileLayer(getJsClient(), reference
);
58 return new Layer(getJsClient(), reference
);
62 public String
getMapPartName() {