Tile sources: enable full overzoom #393
This commit is contained in:
@@ -45,7 +45,6 @@ public class BuildingLayer extends Layer implements TileLoaderThemeHook, ZoomLim
|
||||
protected final static int BUILDING_LEVEL_HEIGHT = 280; // cm
|
||||
|
||||
public final static int MIN_ZOOM = 17;
|
||||
public final static int MAX_ZOOM = 17; // TODO use Viewport.MAX_ZOOM_LEVEL;
|
||||
|
||||
public static boolean POST_AA = false;
|
||||
public static boolean TRANSLUCENT = true;
|
||||
@@ -68,11 +67,11 @@ public class BuildingLayer extends Layer implements TileLoaderThemeHook, ZoomLim
|
||||
}
|
||||
|
||||
public BuildingLayer(Map map, VectorTileLayer tileLayer) {
|
||||
this(map, tileLayer, MIN_ZOOM, MAX_ZOOM, false);
|
||||
this(map, tileLayer, false);
|
||||
}
|
||||
|
||||
public BuildingLayer(Map map, VectorTileLayer tileLayer, boolean mesh) {
|
||||
this(map, tileLayer, MIN_ZOOM, MAX_ZOOM, mesh);
|
||||
this(map, tileLayer, MIN_ZOOM, map.viewport().getMaxZoomLevel(), mesh);
|
||||
}
|
||||
|
||||
public BuildingLayer(Map map, VectorTileLayer tileLayer, int zoomMin, int zoomMax, boolean mesh) {
|
||||
|
||||
@@ -47,7 +47,7 @@ public class S3DBLayer extends BuildingLayer {
|
||||
private boolean mColored = true;
|
||||
|
||||
public S3DBLayer(Map map, VectorTileLayer tileLayer) {
|
||||
this(map, tileLayer, MIN_ZOOM, MAX_ZOOM);
|
||||
this(map, tileLayer, MIN_ZOOM, map.viewport().getMaxZoomLevel());
|
||||
}
|
||||
|
||||
public S3DBLayer(Map map, VectorTileLayer tileLayer, int zoomMin, int zoomMax) {
|
||||
|
||||
@@ -21,7 +21,6 @@ import org.oscim.core.Tag;
|
||||
import org.oscim.core.TagSet;
|
||||
import org.oscim.layers.tile.TileLoader;
|
||||
import org.oscim.map.Map;
|
||||
import org.oscim.tiling.TileSource;
|
||||
import org.oscim.utils.Utils;
|
||||
|
||||
public class OsmTileLayer extends VectorTileLayer {
|
||||
@@ -29,7 +28,7 @@ public class OsmTileLayer extends VectorTileLayer {
|
||||
private static final int CACHE_LIMIT = 150;
|
||||
|
||||
public OsmTileLayer(Map map) {
|
||||
this(map, map.viewport().getMinZoomLevel(), TileSource.MAX_ZOOM);
|
||||
this(map, map.viewport().getMinZoomLevel(), map.viewport().getMaxZoomLevel());
|
||||
}
|
||||
|
||||
public OsmTileLayer(Map map, int zoomMin, int zoomMax) {
|
||||
|
||||
@@ -29,8 +29,8 @@ public abstract class TileSource {
|
||||
public abstract static class Builder<T extends Builder<T>> {
|
||||
protected float alpha = 1;
|
||||
protected int zoomMin = Viewport.MIN_ZOOM_LEVEL;
|
||||
protected int zoomMax = TileSource.MAX_ZOOM;
|
||||
protected int overZoom = TileSource.MAX_ZOOM;
|
||||
protected int zoomMax = Viewport.MAX_ZOOM_LEVEL;
|
||||
protected int overZoom = BuildingLayer.MIN_ZOOM;
|
||||
protected FadeStep[] fadeSteps;
|
||||
protected String name;
|
||||
protected int tileSize = 256;
|
||||
@@ -82,13 +82,10 @@ public abstract class TileSource {
|
||||
}
|
||||
}
|
||||
|
||||
// FIXME Sane default since buildings don't have overzoom
|
||||
public static final int MAX_ZOOM = BuildingLayer.MAX_ZOOM;
|
||||
|
||||
protected float mAlpha = 1;
|
||||
protected int mZoomMin = Viewport.MIN_ZOOM_LEVEL;
|
||||
protected int mZoomMax = TileSource.MAX_ZOOM;
|
||||
protected int mOverZoom = TileSource.MAX_ZOOM;
|
||||
protected int mZoomMax = Viewport.MAX_ZOOM_LEVEL;
|
||||
protected int mOverZoom = BuildingLayer.MIN_ZOOM;
|
||||
protected FadeStep[] mFadeSteps;
|
||||
protected String mName;
|
||||
protected int mTileSize = 256;
|
||||
|
||||
@@ -102,7 +102,7 @@ public abstract class UrlTileSource extends TileSource {
|
||||
}
|
||||
|
||||
protected UrlTileSource(String urlString, String tilePath) {
|
||||
this(urlString, tilePath, Viewport.MIN_ZOOM_LEVEL, TileSource.MAX_ZOOM);
|
||||
this(urlString, tilePath, Viewport.MIN_ZOOM_LEVEL, Viewport.MAX_ZOOM_LEVEL);
|
||||
}
|
||||
|
||||
protected UrlTileSource(String urlString, String tilePath, int zoomMin, int zoomMax) {
|
||||
|
||||
@@ -20,10 +20,8 @@ package org.oscim.tiling.source.bitmap;
|
||||
import org.oscim.backend.CanvasAdapter;
|
||||
import org.oscim.backend.canvas.Bitmap;
|
||||
import org.oscim.core.Tile;
|
||||
import org.oscim.map.Viewport;
|
||||
import org.oscim.tiling.ITileDataSink;
|
||||
import org.oscim.tiling.ITileDataSource;
|
||||
import org.oscim.tiling.TileSource;
|
||||
import org.oscim.tiling.source.ITileDecoder;
|
||||
import org.oscim.tiling.source.LwHttp;
|
||||
import org.oscim.tiling.source.UrlTileDataSource;
|
||||
@@ -40,7 +38,7 @@ public class BitmapTileSource extends UrlTileSource {
|
||||
public static class Builder<T extends Builder<T>> extends UrlTileSource.Builder<T> {
|
||||
|
||||
public Builder() {
|
||||
super(null, "/{Z}/{X}/{Y}.png", Viewport.MIN_ZOOM_LEVEL, TileSource.MAX_ZOOM);
|
||||
super(null, "/{Z}/{X}/{Y}.png");
|
||||
}
|
||||
|
||||
public BitmapTileSource build() {
|
||||
|
||||
@@ -34,7 +34,6 @@ import org.oscim.layers.tile.MapTile;
|
||||
import org.oscim.layers.tile.buildings.BuildingLayer;
|
||||
import org.oscim.tiling.ITileDataSink;
|
||||
import org.oscim.tiling.ITileDataSource;
|
||||
import org.oscim.tiling.TileSource;
|
||||
import org.oscim.tiling.source.mapfile.header.SubFileParameter;
|
||||
import org.oscim.utils.Parameters;
|
||||
import org.oscim.utils.geom.TileClipper;
|
||||
@@ -416,7 +415,7 @@ public class MapDatabase implements ITileDataSource {
|
||||
|
||||
// At large query zoom levels use enlarged buffer
|
||||
int buffer;
|
||||
if (queryParameters.queryZoomLevel > TileSource.MAX_ZOOM)
|
||||
if (queryParameters.queryZoomLevel > BuildingLayer.MIN_ZOOM)
|
||||
buffer = Tile.SIZE / 2;
|
||||
else
|
||||
buffer = (int) (16 * CanvasAdapter.getScale() + 0.5f);
|
||||
|
||||
@@ -18,6 +18,7 @@
|
||||
*/
|
||||
package org.oscim.tiling.source.mapfile;
|
||||
|
||||
import org.oscim.layers.tile.buildings.BuildingLayer;
|
||||
import org.oscim.map.Viewport;
|
||||
import org.oscim.tiling.ITileDataSource;
|
||||
import org.oscim.tiling.OverzoomTileDataSource;
|
||||
@@ -55,11 +56,11 @@ public class MapFileTileSource extends TileSource implements IMapFileTileSource
|
||||
private Callback callback;
|
||||
|
||||
public MapFileTileSource() {
|
||||
this(Viewport.MIN_ZOOM_LEVEL, TileSource.MAX_ZOOM);
|
||||
this(Viewport.MIN_ZOOM_LEVEL, Viewport.MAX_ZOOM_LEVEL);
|
||||
}
|
||||
|
||||
public MapFileTileSource(int zoomMin, int zoomMax) {
|
||||
this(zoomMin, zoomMax, zoomMax);
|
||||
this(zoomMin, zoomMax, BuildingLayer.MIN_ZOOM);
|
||||
}
|
||||
|
||||
public MapFileTileSource(int zoomMin, int zoomMax, int overZoom) {
|
||||
|
||||
@@ -15,6 +15,7 @@
|
||||
package org.oscim.tiling.source.mapfile;
|
||||
|
||||
import org.oscim.core.BoundingBox;
|
||||
import org.oscim.layers.tile.buildings.BuildingLayer;
|
||||
import org.oscim.map.Viewport;
|
||||
import org.oscim.tiling.ITileDataSource;
|
||||
import org.oscim.tiling.OverzoomTileDataSource;
|
||||
@@ -36,11 +37,11 @@ public class MultiMapFileTileSource extends TileSource implements IMapFileTileSo
|
||||
private final Map<MapFileTileSource, int[]> zoomsByTileSource = new HashMap<>();
|
||||
|
||||
public MultiMapFileTileSource() {
|
||||
this(Viewport.MIN_ZOOM_LEVEL, TileSource.MAX_ZOOM);
|
||||
this(Viewport.MIN_ZOOM_LEVEL, Viewport.MAX_ZOOM_LEVEL);
|
||||
}
|
||||
|
||||
public MultiMapFileTileSource(int zoomMin, int zoomMax) {
|
||||
this(zoomMin, zoomMax, zoomMax);
|
||||
this(zoomMin, zoomMax, BuildingLayer.MIN_ZOOM);
|
||||
}
|
||||
|
||||
public MultiMapFileTileSource(int zoomMin, int zoomMax, int overZoom) {
|
||||
|
||||
@@ -17,10 +17,8 @@
|
||||
*/
|
||||
package org.oscim.tiling.source.oscimap4;
|
||||
|
||||
import org.oscim.map.Viewport;
|
||||
import org.oscim.tiling.ITileDataSource;
|
||||
import org.oscim.tiling.OverzoomTileDataSource;
|
||||
import org.oscim.tiling.TileSource;
|
||||
import org.oscim.tiling.source.UrlTileDataSource;
|
||||
import org.oscim.tiling.source.UrlTileSource;
|
||||
|
||||
@@ -32,7 +30,7 @@ public class OSciMap4TileSource extends UrlTileSource {
|
||||
public static class Builder<T extends Builder<T>> extends UrlTileSource.Builder<T> {
|
||||
|
||||
public Builder() {
|
||||
super(DEFAULT_URL, DEFAULT_PATH, Viewport.MIN_ZOOM_LEVEL, TileSource.MAX_ZOOM);
|
||||
super(DEFAULT_URL, DEFAULT_PATH);
|
||||
overZoom(17);
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user