Mapbox (Mapzen): locale improvements #57
This commit is contained in:
parent
15bc23cadf
commit
5c825ea9eb
@ -22,7 +22,6 @@ import org.oscim.layers.tile.vector.labeling.LabelLayer;
|
||||
import org.oscim.theme.VtmThemes;
|
||||
import org.oscim.tiling.source.UrlTileSource;
|
||||
import org.oscim.tiling.source.mvt.MapboxTileSource;
|
||||
import org.oscim.tiling.source.mvt.TileDecoder;
|
||||
|
||||
public class MapboxMapActivity extends MapActivity {
|
||||
|
||||
@ -30,9 +29,9 @@ public class MapboxMapActivity extends MapActivity {
|
||||
public void onCreate(Bundle savedInstanceState) {
|
||||
super.onCreate(savedInstanceState);
|
||||
|
||||
TileDecoder.LOCALE = "en";
|
||||
UrlTileSource tileSource = MapboxTileSource.builder()
|
||||
.apiKey("mapzen-xxxxxxx") // Put a proper API key
|
||||
//.locale("en")
|
||||
.build();
|
||||
|
||||
VectorTileLayer l = mMap.setBaseMap(tileSource);
|
||||
|
@ -21,15 +21,14 @@ import org.oscim.layers.tile.vector.labeling.LabelLayer;
|
||||
import org.oscim.theme.VtmThemes;
|
||||
import org.oscim.tiling.source.UrlTileSource;
|
||||
import org.oscim.tiling.source.mvt.MapboxTileSource;
|
||||
import org.oscim.tiling.source.mvt.TileDecoder;
|
||||
|
||||
public class MapboxTest extends GdxMapApp {
|
||||
|
||||
@Override
|
||||
public void createLayers() {
|
||||
TileDecoder.LOCALE = "en";
|
||||
UrlTileSource tileSource = MapboxTileSource.builder()
|
||||
.apiKey("mapzen-xxxxxxx") // Put a proper API key
|
||||
//.locale("en")
|
||||
.build();
|
||||
|
||||
VectorTileLayer l = mMap.setBaseMap(tileSource);
|
||||
|
@ -27,11 +27,17 @@ public class MapboxTileSource extends UrlTileSource {
|
||||
private final static String DEFAULT_PATH = "/{Z}/{X}/{Y}.mvt";
|
||||
|
||||
public static class Builder<T extends Builder<T>> extends UrlTileSource.Builder<T> {
|
||||
private String locale = "";
|
||||
|
||||
public Builder() {
|
||||
super(DEFAULT_URL, DEFAULT_PATH, 1, 17);
|
||||
}
|
||||
|
||||
public T locale(String locale) {
|
||||
this.locale = locale;
|
||||
return self();
|
||||
}
|
||||
|
||||
public MapboxTileSource build() {
|
||||
return new MapboxTileSource(this);
|
||||
}
|
||||
@ -42,8 +48,11 @@ public class MapboxTileSource extends UrlTileSource {
|
||||
return new Builder();
|
||||
}
|
||||
|
||||
private final String locale;
|
||||
|
||||
protected MapboxTileSource(Builder<?> builder) {
|
||||
super(builder);
|
||||
this.locale = builder.locale;
|
||||
}
|
||||
|
||||
public MapboxTileSource() {
|
||||
@ -56,6 +65,6 @@ public class MapboxTileSource extends UrlTileSource {
|
||||
|
||||
@Override
|
||||
public ITileDataSource getDataSource() {
|
||||
return new UrlTileDataSource(this, new TileDecoder(), getHttpEngine());
|
||||
return new UrlTileDataSource(this, new TileDecoder(locale), getHttpEngine());
|
||||
}
|
||||
}
|
||||
|
@ -35,11 +35,6 @@ import java.util.ArrayList;
|
||||
public class TileDecoder extends PbfDecoder {
|
||||
private static final Logger log = LoggerFactory.getLogger(TileDecoder.class);
|
||||
|
||||
/**
|
||||
* Use default locale.
|
||||
*/
|
||||
public static String LOCALE = "";
|
||||
|
||||
private static final int TAG_TILE_LAYERS = 3;
|
||||
|
||||
private static final int TAG_LAYER_VERSION = 15;
|
||||
@ -70,11 +65,20 @@ public class TileDecoder extends PbfDecoder {
|
||||
private short[] mTmpTags = new short[1024];
|
||||
|
||||
private Tile mTile;
|
||||
private final String mLocale;
|
||||
private ITileDataSink mMapDataCallback;
|
||||
|
||||
private final static float REF_TILE_SIZE = 4096.0f;
|
||||
private float mScale;
|
||||
|
||||
public TileDecoder() {
|
||||
this("");
|
||||
}
|
||||
|
||||
public TileDecoder(String locale) {
|
||||
mLocale = locale;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean decode(Tile tile, ITileDataSink mapDataCallback, InputStream is)
|
||||
throws IOException {
|
||||
@ -197,7 +201,7 @@ public class TileDecoder extends PbfDecoder {
|
||||
continue;
|
||||
}
|
||||
|
||||
if (LOCALE.equals(key.substring(5))) {
|
||||
if (mLocale.equals(key.substring(5))) {
|
||||
//log.debug("found local " + key);
|
||||
matchedLocal = i;
|
||||
} //else
|
||||
|
Loading…
x
Reference in New Issue
Block a user