diff --git a/vtm-playground/src/org/oscim/test/TileRenderTest.java b/vtm-playground/src/org/oscim/test/TileRenderTest.java index 38b5c1f4..e834965a 100644 --- a/vtm-playground/src/org/oscim/test/TileRenderTest.java +++ b/vtm-playground/src/org/oscim/test/TileRenderTest.java @@ -82,8 +82,7 @@ public class TileRenderTest extends GdxMap { final VectorTileLoader[] tileLoader = { null }; VectorTileLayer l = new VectorTileLayer(mMap, tileManager, - new VectorTileRenderer(), 1) { - + new VectorTileRenderer()) { protected TileLoader createLoader() { tileLoader[0] = new VectorTileLoader(this) { diff --git a/vtm/src/org/oscim/layers/tile/TileLayer.java b/vtm/src/org/oscim/layers/tile/TileLayer.java index 4dfa8299..b3a37b0d 100644 --- a/vtm/src/org/oscim/layers/tile/TileLayer.java +++ b/vtm/src/org/oscim/layers/tile/TileLayer.java @@ -24,10 +24,15 @@ import org.oscim.map.Map.UpdateListener; import org.slf4j.Logger; import org.slf4j.LoggerFactory; +/** + * TODO - add a TileLayer.Builder + */ public abstract class TileLayer extends Layer implements UpdateListener { static final Logger log = LoggerFactory.getLogger(TileLayer.class); + private static final int NUM_LOADERS = 4; + /** * TileManager responsible for adding visible tiles * to load queue and managing in-memory tile cache. @@ -60,11 +65,18 @@ public abstract class TileLayer extends Layer implements UpdateListener { } } + /** + * Override to set number of loader threads. Default is 4. + */ + protected int getNumLoaders() { + return NUM_LOADERS; + } + @Override public void onMapEvent(Event event, MapPosition mapPosition) { if (event == Map.CLEAR_EVENT) { - // sync with TileRenderer + /* sync with TileRenderer */ synchronized (mRenderer) { tileRenderer().clearTiles(); mTileManager.init(); diff --git a/vtm/src/org/oscim/layers/tile/bitmap/BitmapTileLayer.java b/vtm/src/org/oscim/layers/tile/bitmap/BitmapTileLayer.java index fca6b19e..18523309 100644 --- a/vtm/src/org/oscim/layers/tile/bitmap/BitmapTileLayer.java +++ b/vtm/src/org/oscim/layers/tile/bitmap/BitmapTileLayer.java @@ -62,7 +62,7 @@ public class BitmapTileLayer extends TileLayer { new VectorTileRenderer()); mTileSource = tileSource; - initLoader(4); + initLoader(getNumLoaders()); } @Override diff --git a/vtm/src/org/oscim/layers/tile/vector/VectorTileLayer.java b/vtm/src/org/oscim/layers/tile/vector/VectorTileLayer.java index 611daca9..ce9ef8fc 100644 --- a/vtm/src/org/oscim/layers/tile/vector/VectorTileLayer.java +++ b/vtm/src/org/oscim/layers/tile/vector/VectorTileLayer.java @@ -46,21 +46,21 @@ public class VectorTileLayer extends TileLayer { tileSource.getZoomLevelMin(), tileSource.getZoomLevelMax(), 100), - new VectorTileRenderer(), 2); + new VectorTileRenderer()); setTileSource(tileSource); } public VectorTileLayer(Map map, int minZoom, int maxZoom, int cacheLimit) { this(map, new TileManager(map, minZoom, maxZoom, cacheLimit), - new VectorTileRenderer(), 4); + new VectorTileRenderer()); } public VectorTileLayer(Map map, TileManager tileManager, - VectorTileRenderer renderer, int numLoaders) { + VectorTileRenderer renderer) { super(map, tileManager, renderer); - initLoader(numLoaders); + initLoader(getNumLoaders()); } @Override