From dd954e34162236be32f4f8a342e5475783058670 Mon Sep 17 00:00:00 2001 From: Hannes Janetzek Date: Fri, 7 Feb 2014 17:40:30 +0100 Subject: [PATCH] pass VectorTileLayer to LabelLayer and BuildingLayer --- .../oscim/android/test/MapsforgeMapActivity.java | 2 +- .../org/oscim/android/test/SimpleMapActivity.java | 13 +++++-------- vtm-gdx/src/org/oscim/gdx/GdxMap.java | 4 ++-- .../org/oscim/layers/tile/vector/BuildingLayer.java | 5 ++--- .../layers/tile/vector/labeling/LabelLayer.java | 9 ++++++--- 5 files changed, 16 insertions(+), 17 deletions(-) diff --git a/vtm-android-example/src/org/oscim/android/test/MapsforgeMapActivity.java b/vtm-android-example/src/org/oscim/android/test/MapsforgeMapActivity.java index dec90852..3ac3f69f 100644 --- a/vtm-android-example/src/org/oscim/android/test/MapsforgeMapActivity.java +++ b/vtm-android-example/src/org/oscim/android/test/MapsforgeMapActivity.java @@ -101,7 +101,7 @@ public class MapsforgeMapActivity extends MapActivity { VectorTileLayer l = mMap.setBaseMap(mTileSource); mMap.setTheme(InternalRenderTheme.DEFAULT); - mMap.getLayers().add(new LabelLayer(mMap, l.getTileRenderer())); + mMap.getLayers().add(new LabelLayer(mMap, l)); MapInfo info = mTileSource.getMapInfo(); if (info.boundingBox != null) { diff --git a/vtm-android-example/src/org/oscim/android/test/SimpleMapActivity.java b/vtm-android-example/src/org/oscim/android/test/SimpleMapActivity.java index ccfb71bf..5931683c 100644 --- a/vtm-android-example/src/org/oscim/android/test/SimpleMapActivity.java +++ b/vtm-android-example/src/org/oscim/android/test/SimpleMapActivity.java @@ -15,12 +15,11 @@ * this program. If not, see . */package org.oscim.android.test; -import org.oscim.android.MapScaleBar; +import org.oscim.layers.TileGridLayer; import org.oscim.layers.tile.vector.BuildingLayer; import org.oscim.layers.tile.vector.labeling.LabelLayer; import org.oscim.map.Layers; import org.oscim.theme.InternalRenderTheme; -import org.oscim.tiling.TileRenderer; import android.os.Bundle; import android.view.Menu; @@ -32,19 +31,17 @@ public class SimpleMapActivity extends BaseMapActivity { public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); - TileRenderer l = mBaseLayer.getTileRenderer(); Layers layers = mMap.getLayers(); - layers.add(new BuildingLayer(mMap, l)); - layers.add(new LabelLayer(mMap, l)); + layers.add(new BuildingLayer(mMap, mBaseLayer)); + layers.add(new LabelLayer(mMap, mBaseLayer)); - //layers.add(new TileGridLayer(mMap)); - layers.add(new MapScaleBar(mMapView)); + layers.add(new TileGridLayer(mMap)); mMap.setTheme(InternalRenderTheme.DEFAULT); //mMap.setTheme(InternalRenderTheme.TRONRENDER); //mMap.setTheme(InternalRenderTheme.OSMARENDER); - mMap.setMapPosition(53.08, 8.83, Math.pow(2, 14)); + mMap.setMapPosition(53.08, 8.83, Math.pow(2, 10)); } @Override diff --git a/vtm-gdx/src/org/oscim/gdx/GdxMap.java b/vtm-gdx/src/org/oscim/gdx/GdxMap.java index f5eb5495..935aa1ef 100644 --- a/vtm-gdx/src/org/oscim/gdx/GdxMap.java +++ b/vtm-gdx/src/org/oscim/gdx/GdxMap.java @@ -136,10 +136,10 @@ public abstract class GdxMap implements ApplicationListener { mMap.setTheme(InternalRenderTheme.DEFAULT); if (buildings) - layers.add(new BuildingLayer(mMap, mMapLayer.getTileRenderer())); + layers.add(new BuildingLayer(mMap, mMapLayer)); if (labels) - layers.add(new LabelLayer(mMap, mMapLayer.getTileRenderer())); + layers.add(new LabelLayer(mMap, mMapLayer)); } if (tileGrid) diff --git a/vtm/src/org/oscim/layers/tile/vector/BuildingLayer.java b/vtm/src/org/oscim/layers/tile/vector/BuildingLayer.java index 4627b36f..01f09624 100644 --- a/vtm/src/org/oscim/layers/tile/vector/BuildingLayer.java +++ b/vtm/src/org/oscim/layers/tile/vector/BuildingLayer.java @@ -21,7 +21,6 @@ import org.oscim.layers.Layer; import org.oscim.map.Map; import org.oscim.renderer.ExtrusionRenderer; import org.oscim.renderer.MapRenderer.Matrices; -import org.oscim.tiling.TileRenderer; import org.oscim.utils.FastMath; public class BuildingLayer extends Layer { @@ -29,9 +28,9 @@ public class BuildingLayer extends Layer { final ExtrusionRenderer mExtLayer; - public BuildingLayer(Map map, TileRenderer tileRenderer) { + public BuildingLayer(Map map, VectorTileLayer tileLayer) { super(map); - mExtLayer = new ExtrusionRenderer(tileRenderer) { + mExtLayer = new ExtrusionRenderer(tileLayer.getTileRenderer()) { private long mStartTime; @Override diff --git a/vtm/src/org/oscim/layers/tile/vector/labeling/LabelLayer.java b/vtm/src/org/oscim/layers/tile/vector/labeling/LabelLayer.java index b95e74c5..b90aee4b 100644 --- a/vtm/src/org/oscim/layers/tile/vector/labeling/LabelLayer.java +++ b/vtm/src/org/oscim/layers/tile/vector/labeling/LabelLayer.java @@ -21,8 +21,9 @@ import org.oscim.event.EventDispatcher.Event; import org.oscim.event.EventDispatcher.Listener; import org.oscim.event.MotionEvent; import org.oscim.layers.Layer; +import org.oscim.layers.tile.vector.VectorTileLayer; import org.oscim.map.Map; -import org.oscim.tiling.TileRenderer; +import org.oscim.tiling.MapTile; import org.oscim.tiling.TileManager; import org.oscim.utils.async.SimpleWorker; import org.slf4j.Logger; @@ -30,6 +31,7 @@ import org.slf4j.LoggerFactory; public class LabelLayer extends Layer implements Map.InputListener, Map.UpdateListener, Listener { + static final Logger log = LoggerFactory.getLogger(LabelLayer.class); private final static long MAX_RELABEL_DELAY = 100; @@ -37,10 +39,11 @@ public class LabelLayer extends Layer implements Map.InputListener, Map.UpdateLi private final LabelPlacement mLabelPlacer; private final Worker mWorker; - public LabelLayer(Map map, TileRenderer tileRenderer) { + public LabelLayer(Map map, VectorTileLayer l) { super(map); l.getManager().events.bind(this); - mLabelPlacer = new LabelPlacement(map, tileRenderer); + + mLabelPlacer = new LabelPlacement(map, l.getTileRenderer()); mWorker = new Worker(map); mRenderer = new TextRenderer(mWorker); }