convert height/min_height tag, enable 'unmatched theme' debug option again

This commit is contained in:
Hannes Janetzek 2013-06-06 14:01:39 +02:00
parent ce06a87422
commit a2a97d956c

View File

@ -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) {