Mapsforge themes 3D buildings, fix #411
This commit is contained in:
parent
ed8f03122b
commit
75c2841a13
@ -175,9 +175,12 @@ public class XmlMapsforgeThemeBuilder extends DefaultHandler {
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void endDocument() {
|
public void endDocument() {
|
||||||
|
// Building rule for Mapsforge themes
|
||||||
|
mRulesList.add(buildingRule());
|
||||||
|
|
||||||
Rule[] rules = new Rule[mRulesList.size()];
|
Rule[] rules = new Rule[mRulesList.size()];
|
||||||
for (int i = 0, n = rules.length; i < n; i++)
|
for (int i = 0, n = rules.length; i < n; i++)
|
||||||
rules[i] = mRulesList.get(i).onComplete(null);
|
rules[i] = mRulesList.get(i).onComplete(new int[1]);
|
||||||
|
|
||||||
mRenderTheme = createTheme(rules);
|
mRenderTheme = createTheme(rules);
|
||||||
|
|
||||||
@ -1216,4 +1219,19 @@ public class XmlMapsforgeThemeBuilder extends DefaultHandler {
|
|||||||
throw new ThemeException("missing attribute " + name
|
throw new ThemeException("missing attribute " + name
|
||||||
+ " for element: " + elementName);
|
+ " for element: " + elementName);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Building rule for Mapsforge themes.
|
||||||
|
*/
|
||||||
|
private RuleBuilder buildingRule() {
|
||||||
|
ExtrusionBuilder<?> b = mExtrusionBuilder.reset();
|
||||||
|
b.level(mLevels++);
|
||||||
|
b.themeCallback(mThemeCallback);
|
||||||
|
b.colorLine(0xffd9d8d6);
|
||||||
|
b.colorSide(0xeaecebe9);
|
||||||
|
b.colorTop(0xeaf9f8f6);
|
||||||
|
RuleBuilder rule = new RuleBuilder(RuleBuilder.RuleType.POSITIVE, new String[]{"building"}, new String[]{});
|
||||||
|
rule.element(Rule.Element.WAY).zoom((byte) 17, Byte.MAX_VALUE).style(b);
|
||||||
|
return rule;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user