From 9bd327cbe68725a1fb8a14fa8ab15f97e2c9b859 Mon Sep 17 00:00:00 2001 From: Hannes Janetzek Date: Sun, 4 May 2014 21:48:13 +0200 Subject: [PATCH] API: remove setBackgroundMap, add setBaseMap(TileLayer) --- vtm-android-app | 2 +- .../android/test/OsmJsonMapActivity.java | 2 +- .../src/org/oscim/test/MeshTest.java | 2 +- .../src/org/oscim/test/TileRenderTest.java | 2 +- .../src/org/oscim/test/jeo/LayerTest.java | 2 +- .../src/org/oscim/web/client/GwtMap.java | 2 +- vtm/src/org/oscim/map/Map.java | 45 +++++++++---------- 7 files changed, 28 insertions(+), 29 deletions(-) diff --git a/vtm-android-app b/vtm-android-app index aa5794db..2a18af29 160000 --- a/vtm-android-app +++ b/vtm-android-app @@ -1 +1 @@ -Subproject commit aa5794db31bf2fc774bc091191f12d1978793c01 +Subproject commit 2a18af29d54dc057f050cb7ce6d8189deffec9e8 diff --git a/vtm-android-example/src/org/oscim/android/test/OsmJsonMapActivity.java b/vtm-android-example/src/org/oscim/android/test/OsmJsonMapActivity.java index e417321e..d4561799 100644 --- a/vtm-android-example/src/org/oscim/android/test/OsmJsonMapActivity.java +++ b/vtm-android-example/src/org/oscim/android/test/OsmJsonMapActivity.java @@ -49,7 +49,7 @@ public class OsmJsonMapActivity extends MapActivity { mTileSource = new OsmWaterJsonTileSource(); - mMap.setBackgroundMap(new BitmapTileLayer(mMap, new StamenToner())); + mMap.setBaseMap(new BitmapTileLayer(mMap, new StamenToner())); mMap.layers().add(new TileGridLayer(mMap)); IRenderTheme theme = ThemeLoader.load(VtmThemes.OSMARENDER); diff --git a/vtm-playground/src/org/oscim/test/MeshTest.java b/vtm-playground/src/org/oscim/test/MeshTest.java index d5e74f31..068c7d7a 100644 --- a/vtm-playground/src/org/oscim/test/MeshTest.java +++ b/vtm-playground/src/org/oscim/test/MeshTest.java @@ -16,7 +16,7 @@ public class MeshTest extends GdxMapApp { //VectorTileLayer l = mMap.setBaseMap(new OSciMap4TileSource()); //mMap.setTheme(VtmThemes.DEFAULT); - mMap.setBackgroundMap(new BitmapTileLayer(mMap, new DefaultSources.StamenToner())); + mMap.setBaseMap(new BitmapTileLayer(mMap, new DefaultSources.StamenToner())); TileSource ts = new OSciMap4TileSource("http://opensciencemap.org/tiles/s3db"); S3DBLayer tl = new S3DBLayer(mMap, ts); diff --git a/vtm-playground/src/org/oscim/test/TileRenderTest.java b/vtm-playground/src/org/oscim/test/TileRenderTest.java index b7781c5a..38b5c1f4 100644 --- a/vtm-playground/src/org/oscim/test/TileRenderTest.java +++ b/vtm-playground/src/org/oscim/test/TileRenderTest.java @@ -115,7 +115,7 @@ public class TileRenderTest extends GdxMap { } } - mMap.setBackgroundMap(new BitmapTileLayer(mMap, new DefaultSources.StamenToner())); + mMap.setBaseMap(new BitmapTileLayer(mMap, new DefaultSources.StamenToner())); mMap.layers().add(l); } diff --git a/vtm-playground/src/org/oscim/test/jeo/LayerTest.java b/vtm-playground/src/org/oscim/test/jeo/LayerTest.java index 676161c7..aeacdfca 100644 --- a/vtm-playground/src/org/oscim/test/jeo/LayerTest.java +++ b/vtm-playground/src/org/oscim/test/jeo/LayerTest.java @@ -24,7 +24,7 @@ public class LayerTest extends GdxMap { @Override public void createLayers() { - mMap.setBackgroundMap(new BitmapTileLayer(mMap, new StamenToner())); + mMap.setBaseMap(new BitmapTileLayer(mMap, new StamenToner())); mMap.layers().add(new TileGridLayer(mMap)); mMap.addTask(new Runnable() { diff --git a/vtm-web-app/src/org/oscim/web/client/GwtMap.java b/vtm-web-app/src/org/oscim/web/client/GwtMap.java index 9147d534..1428ef13 100644 --- a/vtm-web-app/src/org/oscim/web/client/GwtMap.java +++ b/vtm-web-app/src/org/oscim/web/client/GwtMap.java @@ -102,7 +102,7 @@ class GwtMap extends GdxMap { else ts = new StamenToner(); - mMap.setBackgroundMap(new BitmapTileLayer(mMap, ts)); + mMap.setBaseMap(new BitmapTileLayer(mMap, ts)); } else { TileSource ts = new OSciMap4TileSource(); l = mMap.setBaseMap(ts); diff --git a/vtm/src/org/oscim/map/Map.java b/vtm/src/org/oscim/map/Map.java index 570645fa..1886d7ab 100644 --- a/vtm/src/org/oscim/map/Map.java +++ b/vtm/src/org/oscim/map/Map.java @@ -24,7 +24,7 @@ import org.oscim.event.Gesture; import org.oscim.event.GestureDetector; import org.oscim.event.MotionEvent; import org.oscim.layers.MapEventLayer; -import org.oscim.layers.tile.bitmap.BitmapTileLayer; +import org.oscim.layers.tile.TileLayer; import org.oscim.layers.tile.vector.OsmTileLayer; import org.oscim.layers.tile.vector.VectorTileLayer; import org.oscim.renderer.MapRenderer; @@ -88,7 +88,7 @@ public abstract class Map implements TaskQueue { * register when the layer is added to the map and unregistered when * the layer is removed. */ - private VectorTileLayer mBaseLayer; + private TileLayer mBaseLayer; protected boolean mClearMap = true; @@ -124,23 +124,23 @@ public abstract class Map implements TaskQueue { return mEventLayer; } + /** + * Create OsmTileLayer with given TileSource and + * set as base map (layer 1) + * + * TODO deprecate + */ public VectorTileLayer setBaseMap(TileSource tileSource) { - // TODO cleanup previous baseLayer here? - - mBaseLayer = new OsmTileLayer(this); - mBaseLayer.setTileSource(tileSource); - mLayers.add(1, mBaseLayer); - - return mBaseLayer; + VectorTileLayer l = new OsmTileLayer(this); + l.setTileSource(tileSource); + setBaseMap(l); + return l; } - public void setBackgroundMap(BitmapTileLayer tileLayer) { + public TileLayer setBaseMap(TileLayer tileLayer) { mLayers.add(1, tileLayer); - } - - public VectorTileLayer setBaseMap(BitmapTileLayer tileLayer) { - mLayers.add(1, tileLayer); - return null; + mBaseLayer = tileLayer; + return tileLayer; } /** @@ -156,17 +156,16 @@ public abstract class Map implements TaskQueue { } public void setTheme(IRenderTheme theme) { - if (mBaseLayer == null) { - log.error("No base layer set"); - throw new IllegalStateException(); - } - if (theme == null) { - log.error("Invalid theme"); - return; + throw new IllegalArgumentException("Theme cannot be null."); + } + + if (mBaseLayer == null) { + log.warn("No base layer set."); + } else if (mBaseLayer instanceof VectorTileLayer) { + ((VectorTileLayer) mBaseLayer).setRenderTheme(theme); } - mBaseLayer.setRenderTheme(theme); MapRenderer.setBackgroundColor(theme.getMapBackground()); clearMap();