Mapbox vector tiles improvements and example #57

This commit is contained in:
Emux
2016-10-29 20:56:01 +03:00
parent 05e9e0cdc8
commit dece13ddc9
6 changed files with 126 additions and 9 deletions

View File

@@ -1,5 +1,6 @@
/*
* Copyright 2013 Hannes Janetzek
* Copyright 2016 devemux86
*
* This file is part of the OpenScienceMap project (http://www.opensciencemap.org).
*
@@ -20,13 +21,37 @@ import org.oscim.tiling.ITileDataSource;
import org.oscim.tiling.source.UrlTileDataSource;
import org.oscim.tiling.source.UrlTileSource;
public class MapboxVectorTileSource extends UrlTileSource {
public MapboxVectorTileSource(String url, String tilePath) {
super(url, tilePath);
//Map<String, String> opt = new HashMap<String, String>();
//opt.put("Accept-Encoding", "gzip");
//opt.put("User-Agent", "curl/7.47.1");
//setHttpRequestHeaders(opt);
public class MapboxTileSource extends UrlTileSource {
private final static String DEFAULT_URL = "https://vector.mapzen.com/osm/all";
private final static String DEFAULT_PATH = "/{Z}/{X}/{Y}.mvt";
public static class Builder<T extends Builder<T>> extends UrlTileSource.Builder<T> {
public Builder() {
super(DEFAULT_URL, DEFAULT_PATH, 1, 17);
}
public MapboxTileSource build() {
return new MapboxTileSource(this);
}
}
@SuppressWarnings("rawtypes")
public static Builder<?> builder() {
return new Builder();
}
protected MapboxTileSource(Builder<?> builder) {
super(builder);
}
public MapboxTileSource() {
this(builder());
}
public MapboxTileSource(String urlString) {
this(builder().url(urlString));
}
@Override

View File

@@ -1,5 +1,6 @@
/*
* Copyright 2013 Hannes Janetzek
* Copyright 2016 devemux86
*
* This file is part of the OpenScienceMap project (http://www.opensciencemap.org).
*
@@ -64,7 +65,7 @@ public class TileDecoder extends PbfDecoder {
private short[] mTmpTags = new short[1024];
private Tile mTile;
private final String mLocale = "de";
private final String mLocale = "en";
private ITileDataSink mMapDataCallback;
private final static float REF_TILE_SIZE = 4096.0f;
@@ -166,7 +167,8 @@ public class TileDecoder extends PbfDecoder {
}
Tag layerTag = new Tag("layer", name);
log.debug("add layer " + name);
if (debug)
log.debug("add layer " + name);
if (numFeatures == 0)
return true;