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);
|
VectorTileLayer l = mMap.setBaseMap(mTileSource);
|
||||||
mMap.setTheme(InternalRenderTheme.DEFAULT);
|
mMap.setTheme(InternalRenderTheme.DEFAULT);
|
||||||
mMap.getLayers().add(new LabelLayer(mMap, l.getTileRenderer()));
|
mMap.getLayers().add(new LabelLayer(mMap, l));
|
||||||
|
|
||||||
MapInfo info = mTileSource.getMapInfo();
|
MapInfo info = mTileSource.getMapInfo();
|
||||||
if (info.boundingBox != null) {
|
if (info.boundingBox != null) {
|
||||||
|
@ -15,12 +15,11 @@
|
|||||||
* this program. If not, see <http://www.gnu.org/licenses/>.
|
* this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
*/package org.oscim.android.test;
|
*/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.BuildingLayer;
|
||||||
import org.oscim.layers.tile.vector.labeling.LabelLayer;
|
import org.oscim.layers.tile.vector.labeling.LabelLayer;
|
||||||
import org.oscim.map.Layers;
|
import org.oscim.map.Layers;
|
||||||
import org.oscim.theme.InternalRenderTheme;
|
import org.oscim.theme.InternalRenderTheme;
|
||||||
import org.oscim.tiling.TileRenderer;
|
|
||||||
|
|
||||||
import android.os.Bundle;
|
import android.os.Bundle;
|
||||||
import android.view.Menu;
|
import android.view.Menu;
|
||||||
@ -32,19 +31,17 @@ public class SimpleMapActivity extends BaseMapActivity {
|
|||||||
public void onCreate(Bundle savedInstanceState) {
|
public void onCreate(Bundle savedInstanceState) {
|
||||||
super.onCreate(savedInstanceState);
|
super.onCreate(savedInstanceState);
|
||||||
|
|
||||||
TileRenderer l = mBaseLayer.getTileRenderer();
|
|
||||||
Layers layers = mMap.getLayers();
|
Layers layers = mMap.getLayers();
|
||||||
layers.add(new BuildingLayer(mMap, l));
|
layers.add(new BuildingLayer(mMap, mBaseLayer));
|
||||||
layers.add(new LabelLayer(mMap, l));
|
layers.add(new LabelLayer(mMap, mBaseLayer));
|
||||||
|
|
||||||
//layers.add(new TileGridLayer(mMap));
|
layers.add(new TileGridLayer(mMap));
|
||||||
layers.add(new MapScaleBar(mMapView));
|
|
||||||
|
|
||||||
mMap.setTheme(InternalRenderTheme.DEFAULT);
|
mMap.setTheme(InternalRenderTheme.DEFAULT);
|
||||||
//mMap.setTheme(InternalRenderTheme.TRONRENDER);
|
//mMap.setTheme(InternalRenderTheme.TRONRENDER);
|
||||||
//mMap.setTheme(InternalRenderTheme.OSMARENDER);
|
//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
|
@Override
|
||||||
|
@ -136,10 +136,10 @@ public abstract class GdxMap implements ApplicationListener {
|
|||||||
mMap.setTheme(InternalRenderTheme.DEFAULT);
|
mMap.setTheme(InternalRenderTheme.DEFAULT);
|
||||||
|
|
||||||
if (buildings)
|
if (buildings)
|
||||||
layers.add(new BuildingLayer(mMap, mMapLayer.getTileRenderer()));
|
layers.add(new BuildingLayer(mMap, mMapLayer));
|
||||||
|
|
||||||
if (labels)
|
if (labels)
|
||||||
layers.add(new LabelLayer(mMap, mMapLayer.getTileRenderer()));
|
layers.add(new LabelLayer(mMap, mMapLayer));
|
||||||
}
|
}
|
||||||
|
|
||||||
if (tileGrid)
|
if (tileGrid)
|
||||||
|
@ -21,7 +21,6 @@ import org.oscim.layers.Layer;
|
|||||||
import org.oscim.map.Map;
|
import org.oscim.map.Map;
|
||||||
import org.oscim.renderer.ExtrusionRenderer;
|
import org.oscim.renderer.ExtrusionRenderer;
|
||||||
import org.oscim.renderer.MapRenderer.Matrices;
|
import org.oscim.renderer.MapRenderer.Matrices;
|
||||||
import org.oscim.tiling.TileRenderer;
|
|
||||||
import org.oscim.utils.FastMath;
|
import org.oscim.utils.FastMath;
|
||||||
|
|
||||||
public class BuildingLayer extends Layer {
|
public class BuildingLayer extends Layer {
|
||||||
@ -29,9 +28,9 @@ public class BuildingLayer extends Layer {
|
|||||||
|
|
||||||
final ExtrusionRenderer mExtLayer;
|
final ExtrusionRenderer mExtLayer;
|
||||||
|
|
||||||
public BuildingLayer(Map map, TileRenderer tileRenderer) {
|
public BuildingLayer(Map map, VectorTileLayer tileLayer) {
|
||||||
super(map);
|
super(map);
|
||||||
mExtLayer = new ExtrusionRenderer(tileRenderer) {
|
mExtLayer = new ExtrusionRenderer(tileLayer.getTileRenderer()) {
|
||||||
private long mStartTime;
|
private long mStartTime;
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
@ -21,8 +21,9 @@ import org.oscim.event.EventDispatcher.Event;
|
|||||||
import org.oscim.event.EventDispatcher.Listener;
|
import org.oscim.event.EventDispatcher.Listener;
|
||||||
import org.oscim.event.MotionEvent;
|
import org.oscim.event.MotionEvent;
|
||||||
import org.oscim.layers.Layer;
|
import org.oscim.layers.Layer;
|
||||||
|
import org.oscim.layers.tile.vector.VectorTileLayer;
|
||||||
import org.oscim.map.Map;
|
import org.oscim.map.Map;
|
||||||
import org.oscim.tiling.TileRenderer;
|
import org.oscim.tiling.MapTile;
|
||||||
import org.oscim.tiling.TileManager;
|
import org.oscim.tiling.TileManager;
|
||||||
import org.oscim.utils.async.SimpleWorker;
|
import org.oscim.utils.async.SimpleWorker;
|
||||||
import org.slf4j.Logger;
|
import org.slf4j.Logger;
|
||||||
@ -30,6 +31,7 @@ import org.slf4j.LoggerFactory;
|
|||||||
|
|
||||||
public class LabelLayer extends Layer implements Map.InputListener, Map.UpdateListener,
|
public class LabelLayer extends Layer implements Map.InputListener, Map.UpdateListener,
|
||||||
Listener<MapTile> {
|
Listener<MapTile> {
|
||||||
|
|
||||||
static final Logger log = LoggerFactory.getLogger(LabelLayer.class);
|
static final Logger log = LoggerFactory.getLogger(LabelLayer.class);
|
||||||
|
|
||||||
private final static long MAX_RELABEL_DELAY = 100;
|
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 LabelPlacement mLabelPlacer;
|
||||||
private final Worker mWorker;
|
private final Worker mWorker;
|
||||||
|
|
||||||
public LabelLayer(Map map, TileRenderer tileRenderer) {
|
public LabelLayer(Map map, VectorTileLayer l) {
|
||||||
super(map);
|
super(map);
|
||||||
l.getManager().events.bind(this);
|
l.getManager().events.bind(this);
|
||||||
mLabelPlacer = new LabelPlacement(map, tileRenderer);
|
|
||||||
|
mLabelPlacer = new LabelPlacement(map, l.getTileRenderer());
|
||||||
mWorker = new Worker(map);
|
mWorker = new Worker(map);
|
||||||
mRenderer = new TextRenderer(mWorker);
|
mRenderer = new TextRenderer(mWorker);
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user