pass VectorTileLayer to LabelLayer and BuildingLayer
This commit is contained in:
parent
db780d9939
commit
dd954e3416
@ -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) {
|
||||
|
@ -15,12 +15,11 @@
|
||||
* this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/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
|
||||
|
@ -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)
|
||||
|
@ -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
|
||||
|
@ -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<MapTile> {
|
||||
|
||||
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);
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user