convert height/min_height tag, enable 'unmatched theme' debug option again
This commit is contained in:
parent
ce06a87422
commit
a2a97d956c
@ -69,8 +69,8 @@ public class MapTileLoader extends TileLoader implements IRenderCallback, ITileD
|
|||||||
public static final byte STROKE_MIN_ZOOM_LEVEL = 12;
|
public static final byte STROKE_MIN_ZOOM_LEVEL = 12;
|
||||||
public static final byte STROKE_MAX_ZOOM_LEVEL = 17;
|
public static final byte STROKE_MAX_ZOOM_LEVEL = 17;
|
||||||
|
|
||||||
// private static final Tag[] debugTagWay = { new Tag("debug", "way") };
|
private static final Tag[] debugTagWay = { new Tag("debug", "way") };
|
||||||
// private static final Tag[] debugTagArea = { new Tag("debug", "area") };
|
private static final Tag[] debugTagArea = { new Tag("debug", "area") };
|
||||||
|
|
||||||
// replacement for variable value tags that should not be matched by RenderTheme
|
// replacement for variable value tags that should not be matched by RenderTheme
|
||||||
// FIXME make this general, maybe subclass tags
|
// FIXME make this general, maybe subclass tags
|
||||||
@ -140,7 +140,8 @@ public class MapTileLoader extends TileLoader implements IRenderCallback, ITileD
|
|||||||
// m.type = GeometryType.POINT;
|
// m.type = GeometryType.POINT;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* (non-Javadoc)
|
/*
|
||||||
|
* (non-Javadoc)
|
||||||
* @see org.oscim.layers.tile.TileLoader#cleanup()
|
* @see org.oscim.layers.tile.TileLoader#cleanup()
|
||||||
*/
|
*/
|
||||||
@Override
|
@Override
|
||||||
@ -148,8 +149,11 @@ public class MapTileLoader extends TileLoader implements IRenderCallback, ITileD
|
|||||||
mTileDataSource.destroy();
|
mTileDataSource.destroy();
|
||||||
}
|
}
|
||||||
|
|
||||||
/* (non-Javadoc)
|
/*
|
||||||
* @see org.oscim.layers.tile.TileLoader#executeJob(org.oscim.layers.tile.MapTile)
|
* (non-Javadoc)
|
||||||
|
* @see
|
||||||
|
* org.oscim.layers.tile.TileLoader#executeJob(org.oscim.layers.tile.MapTile
|
||||||
|
* )
|
||||||
*/
|
*/
|
||||||
@Override
|
@Override
|
||||||
public boolean executeJob(MapTile mapTile) {
|
public boolean executeJob(MapTile mapTile) {
|
||||||
@ -272,11 +276,26 @@ public class MapTileLoader extends TileLoader implements IRenderCallback, ITileD
|
|||||||
mTagHouseNr = tags[i];
|
mTagHouseNr = tags[i];
|
||||||
tags[i] = mTagEmptyHouseNr;
|
tags[i] = mTagEmptyHouseNr;
|
||||||
}
|
}
|
||||||
} else if (mTile.zoomLevel >= 17 &&
|
} else if (mTile.zoomLevel > 16) {
|
||||||
// FIXME, allow overlays to intercept
|
// FIXME, allow overlays to intercept
|
||||||
// this, or use a theme option for this
|
// this, or use a theme option for this
|
||||||
key == Tag.TAG_KEY_BUILDING) {
|
if (key == Tag.TAG_KEY_BUILDING)
|
||||||
mRenderBuildingModel = true;
|
mRenderBuildingModel = true;
|
||||||
|
|
||||||
|
else if (key == Tag.KEY_HEIGHT) {
|
||||||
|
try {
|
||||||
|
mElement.height = Integer.parseInt(tags[i].value);
|
||||||
|
Log.d(TAG, "height: " + mElement.height);
|
||||||
|
} catch (Exception e) {
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else if (key == Tag.KEY_MIN_HEIGHT) {
|
||||||
|
try {
|
||||||
|
mElement.minHeight = Integer.parseInt(tags[i].value);
|
||||||
|
Log.d(TAG, "minHeight: " + mElement.minHeight);
|
||||||
|
} catch (Exception e) {
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return true;
|
return true;
|
||||||
@ -293,13 +312,11 @@ public class MapTileLoader extends TileLoader implements IRenderCallback, ITileD
|
|||||||
filterTags(element.tags);
|
filterTags(element.tags);
|
||||||
|
|
||||||
// get render instructions
|
// get render instructions
|
||||||
//RenderInstruction[] ri = renderTheme.matchNode(element.tags, mTile.zoomLevel);
|
|
||||||
RenderInstruction[] ri = renderTheme.matchElement(element, mTile.zoomLevel);
|
RenderInstruction[] ri = renderTheme.matchElement(element, mTile.zoomLevel);
|
||||||
|
|
||||||
if (ri != null)
|
if (ri != null)
|
||||||
renderNode(ri);
|
renderNode(ri);
|
||||||
}
|
} else {
|
||||||
else {
|
|
||||||
|
|
||||||
// replace tags that should not be cached in Rendertheme (e.g. name)
|
// replace tags that should not be cached in Rendertheme (e.g. name)
|
||||||
if (!filterTags(element.tags))
|
if (!filterTags(element.tags))
|
||||||
@ -309,10 +326,6 @@ public class MapTileLoader extends TileLoader implements IRenderCallback, ITileD
|
|||||||
|
|
||||||
mDrawingLayer = getValidLayer(element.layer) * renderLevels;
|
mDrawingLayer = getValidLayer(element.layer) * renderLevels;
|
||||||
|
|
||||||
// get render instructions
|
|
||||||
// RenderInstruction[] ri = renderTheme.matchWay(element.tags,
|
|
||||||
// (byte) (mTile.zoomLevel + 0), closed);
|
|
||||||
|
|
||||||
RenderInstruction[] ri = renderTheme.matchElement(element, mTile.zoomLevel);
|
RenderInstruction[] ri = renderTheme.matchElement(element, mTile.zoomLevel);
|
||||||
|
|
||||||
renderWay(ri);
|
renderWay(ri);
|
||||||
@ -329,15 +342,14 @@ public class MapTileLoader extends TileLoader implements IRenderCallback, ITileD
|
|||||||
private void debugUnmatched(boolean closed, Tag[] tags) {
|
private void debugUnmatched(boolean closed, Tag[] tags) {
|
||||||
Log.d(TAG, "DBG way not matched: " + closed + " "
|
Log.d(TAG, "DBG way not matched: " + closed + " "
|
||||||
+ Arrays.deepToString(tags));
|
+ Arrays.deepToString(tags));
|
||||||
mElement = null;
|
|
||||||
// mTagName = new Tag("name", tags[0].key + ":"
|
mTagName = new Tag("name", tags[0].key + ":"
|
||||||
// + tags[0].value, false);
|
+ tags[0].value, false);
|
||||||
//
|
|
||||||
// RenderInstruction[] ri;
|
mElement.tags = closed ? debugTagArea : debugTagWay;
|
||||||
// ri = renderTheme.matchWay(closed ? debugTagArea : debugTagWay,
|
RenderInstruction[] ri = renderTheme.matchElement(mElement, mTile.zoomLevel);
|
||||||
// (byte) 0, true);
|
|
||||||
//
|
renderWay(ri);
|
||||||
// renderWay(ri);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
private void renderWay(RenderInstruction[] ri) {
|
private void renderWay(RenderInstruction[] ri) {
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user