diff --git a/pom.xml b/pom.xml index c83d54fc..fb194b7d 100644 --- a/pom.xml +++ b/pom.xml @@ -353,7 +353,7 @@ org.peimari g-leaflet - 1.0.15 + 1.0.16 diff --git a/src/main/java/org/vaadin/addon/leaflet/LGridLayer.java b/src/main/java/org/vaadin/addon/leaflet/LGridLayer.java index c06faf7c..6d394d0d 100644 --- a/src/main/java/org/vaadin/addon/leaflet/LGridLayer.java +++ b/src/main/java/org/vaadin/addon/leaflet/LGridLayer.java @@ -27,6 +27,14 @@ protected LeafletGridLayerState getState() { return (LeafletGridLayerState) super.getState(); } + public Integer getTileSize() { + return getState().tileSize; + } + + public void setTileSize(Integer tileSize) { + getState().tileSize = tileSize; + } + public String getAttributionString() { return getState().attributionString; } diff --git a/src/main/java/org/vaadin/addon/leaflet/LTileLayer.java b/src/main/java/org/vaadin/addon/leaflet/LTileLayer.java index 5b23eb43..59da9ed7 100644 --- a/src/main/java/org/vaadin/addon/leaflet/LTileLayer.java +++ b/src/main/java/org/vaadin/addon/leaflet/LTileLayer.java @@ -68,6 +68,14 @@ public void setSubDomains(String... string) { getState().subDomains = string; } + public Integer getZoomOffset() { + return getState().zoomOffset; + } + + public void setZoomOffset(Integer zoomOffset) { + getState().zoomOffset = zoomOffset; + } + public Map getCustomOptions() { return getState().customOptions; } diff --git a/src/main/java/org/vaadin/addon/leaflet/client/LeafletGridLayerConnector.java b/src/main/java/org/vaadin/addon/leaflet/client/LeafletGridLayerConnector.java index b12e2e2a..a6de5ad5 100644 --- a/src/main/java/org/vaadin/addon/leaflet/client/LeafletGridLayerConnector.java +++ b/src/main/java/org/vaadin/addon/leaflet/client/LeafletGridLayerConnector.java @@ -22,6 +22,9 @@ protected GridLayerOptions createOptions() { GridLayerOptions o = GridLayerOptions.create(); LeafletGridLayerState s = getState(); + if (s.tileSize != null) { + o.setTileSize(s.tileSize); + } if (s.attributionString != null) { o.setAttribution(s.attributionString); } diff --git a/src/main/java/org/vaadin/addon/leaflet/client/LeafletTileLayerConnector.java b/src/main/java/org/vaadin/addon/leaflet/client/LeafletTileLayerConnector.java index e84636fb..b897489c 100644 --- a/src/main/java/org/vaadin/addon/leaflet/client/LeafletTileLayerConnector.java +++ b/src/main/java/org/vaadin/addon/leaflet/client/LeafletTileLayerConnector.java @@ -35,6 +35,9 @@ protected TileLayerOptions createOptions() { if (s.tms != null && s.tms) { o.setTms(true); } + if (s.zoomOffset != null) { + o.setZoomOffset(s.zoomOffset); + } if (s.customOptions != null) { for (String keyName : s.customOptions.keySet()) { o.setCustomOption(keyName, s.customOptions.get(keyName)); diff --git a/src/main/java/org/vaadin/addon/leaflet/shared/LeafletGridLayerState.java b/src/main/java/org/vaadin/addon/leaflet/shared/LeafletGridLayerState.java index 66966eb5..fdb443c0 100644 --- a/src/main/java/org/vaadin/addon/leaflet/shared/LeafletGridLayerState.java +++ b/src/main/java/org/vaadin/addon/leaflet/shared/LeafletGridLayerState.java @@ -2,6 +2,7 @@ public class LeafletGridLayerState extends AbstractLeafletComponentState { + public Integer tileSize; public Double opacity; public Integer zIndex; public Bounds bounds; diff --git a/src/main/java/org/vaadin/addon/leaflet/shared/LeafletTileLayerState.java b/src/main/java/org/vaadin/addon/leaflet/shared/LeafletTileLayerState.java index ce5092ae..5424c7e3 100644 --- a/src/main/java/org/vaadin/addon/leaflet/shared/LeafletTileLayerState.java +++ b/src/main/java/org/vaadin/addon/leaflet/shared/LeafletTileLayerState.java @@ -10,6 +10,7 @@ public class LeafletTileLayerState extends LeafletGridLayerState { public Integer minZoom; public Integer maxZoom; public String[] subDomains; + public Integer zoomOffset; public Map customOptions; } diff --git a/src/test/java/org/vaadin/addon/leaflet/demoandtestapp/BasicTest.java b/src/test/java/org/vaadin/addon/leaflet/demoandtestapp/BasicTest.java index 26dfd058..0ba6ee92 100755 --- a/src/test/java/org/vaadin/addon/leaflet/demoandtestapp/BasicTest.java +++ b/src/test/java/org/vaadin/addon/leaflet/demoandtestapp/BasicTest.java @@ -136,6 +136,8 @@ public Component getTestComponent() { LTileLayer pk = new LTileLayer(); pk.setUrl("https://{s}.kartat.kapsi.fi/peruskartta/{z}/{x}/{y}.png"); + pk.setZoomOffset(0); + pk.setTileSize(256); pk.setAttributionString("Maanmittauslaitos, hosted by kartat.kapsi.fi"); pk.setMaxZoom(18); pk.setSubDomains("tile2");