Tile sources: enable full overzoom #393
This commit is contained in:
parent
77ea71c519
commit
c79dbb26ea
@ -17,8 +17,6 @@ package org.oscim.tiling.source.geojson;
|
||||
|
||||
import org.oscim.core.MapElement;
|
||||
import org.oscim.core.Tag;
|
||||
import org.oscim.map.Viewport;
|
||||
import org.oscim.tiling.TileSource;
|
||||
import org.oscim.tiling.source.UrlTileSource;
|
||||
import org.oscim.utils.FastMath;
|
||||
|
||||
@ -34,7 +32,7 @@ public class MapzenGeojsonTileSource extends GeojsonTileSource {
|
||||
private String locale = "";
|
||||
|
||||
public Builder() {
|
||||
super(DEFAULT_URL, DEFAULT_PATH, Viewport.MIN_ZOOM_LEVEL, TileSource.MAX_ZOOM);
|
||||
super(DEFAULT_URL, DEFAULT_PATH);
|
||||
keyName("api_key");
|
||||
overZoom(16);
|
||||
}
|
||||
|
@ -16,8 +16,6 @@ package org.oscim.tiling.source.geojson;
|
||||
|
||||
import org.oscim.core.MapElement;
|
||||
import org.oscim.core.Tag;
|
||||
import org.oscim.map.Viewport;
|
||||
import org.oscim.tiling.TileSource;
|
||||
import org.oscim.tiling.source.UrlTileSource;
|
||||
import org.oscim.utils.FastMath;
|
||||
|
||||
@ -33,7 +31,7 @@ public class NextzenGeojsonTileSource extends GeojsonTileSource {
|
||||
private String locale = "";
|
||||
|
||||
public Builder() {
|
||||
super(DEFAULT_URL, DEFAULT_PATH, Viewport.MIN_ZOOM_LEVEL, TileSource.MAX_ZOOM);
|
||||
super(DEFAULT_URL, DEFAULT_PATH);
|
||||
keyName("api_key");
|
||||
overZoom(16);
|
||||
}
|
||||
|
@ -17,10 +17,8 @@
|
||||
*/
|
||||
package org.oscim.tiling.source.mvt;
|
||||
|
||||
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;
|
||||
|
||||
@ -33,7 +31,7 @@ public class MapzenMvtTileSource extends UrlTileSource {
|
||||
private String locale = "";
|
||||
|
||||
public Builder() {
|
||||
super(DEFAULT_URL, DEFAULT_PATH, Viewport.MIN_ZOOM_LEVEL, TileSource.MAX_ZOOM);
|
||||
super(DEFAULT_URL, DEFAULT_PATH);
|
||||
keyName("api_key");
|
||||
overZoom(16);
|
||||
}
|
||||
|
@ -14,10 +14,8 @@
|
||||
*/
|
||||
package org.oscim.tiling.source.mvt;
|
||||
|
||||
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;
|
||||
|
||||
@ -30,7 +28,7 @@ public class NextzenMvtTileSource extends UrlTileSource {
|
||||
private String locale = "";
|
||||
|
||||
public Builder() {
|
||||
super(DEFAULT_URL, DEFAULT_PATH, Viewport.MIN_ZOOM_LEVEL, TileSource.MAX_ZOOM);
|
||||
super(DEFAULT_URL, DEFAULT_PATH);
|
||||
keyName("api_key");
|
||||
overZoom(16);
|
||||
}
|
||||
|
@ -18,10 +18,8 @@
|
||||
*/
|
||||
package org.oscim.tiling.source.mvt;
|
||||
|
||||
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;
|
||||
|
||||
@ -34,7 +32,7 @@ public class OpenMapTilesMvtTileSource extends UrlTileSource {
|
||||
private String locale = "";
|
||||
|
||||
public Builder() {
|
||||
super(DEFAULT_URL, DEFAULT_PATH, Viewport.MIN_ZOOM_LEVEL, TileSource.MAX_ZOOM);
|
||||
super(DEFAULT_URL, DEFAULT_PATH);
|
||||
overZoom(14);
|
||||
}
|
||||
|
||||
|
@ -30,11 +30,9 @@ import org.oscim.gdx.client.GwtBitmap;
|
||||
import org.oscim.layers.tile.LoadDelayTask;
|
||||
import org.oscim.layers.tile.MapTile;
|
||||
import org.oscim.layers.tile.TileLoader;
|
||||
import org.oscim.map.Viewport;
|
||||
import org.oscim.tiling.ITileDataSink;
|
||||
import org.oscim.tiling.ITileDataSource;
|
||||
import org.oscim.tiling.QueryResult;
|
||||
import org.oscim.tiling.TileSource;
|
||||
import org.oscim.tiling.source.LwHttp;
|
||||
import org.oscim.tiling.source.UrlTileSource;
|
||||
import org.slf4j.Logger;
|
||||
@ -46,7 +44,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() {
|
||||
|
@ -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);
|
||||
}
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user