VTM map scaling improvements, fix #401
This commit is contained in:
parent
c4b6d019ff
commit
c694fbc63b
@ -8,6 +8,7 @@
|
|||||||
- POI Search example [#394](https://github.com/mapsforge/vtm/issues/394)
|
- POI Search example [#394](https://github.com/mapsforge/vtm/issues/394)
|
||||||
- Mapsforge Reverse Geocoding [#383](https://github.com/mapsforge/vtm/issues/383)
|
- Mapsforge Reverse Geocoding [#383](https://github.com/mapsforge/vtm/issues/383)
|
||||||
- Core utilities [#396](https://github.com/mapsforge/vtm/issues/396)
|
- Core utilities [#396](https://github.com/mapsforge/vtm/issues/396)
|
||||||
|
- Map scaling improvements [#401](https://github.com/mapsforge/vtm/issues/401)
|
||||||
- Mapsforge fix artifacts zoom > 17 [#231](https://github.com/mapsforge/vtm/issues/231)
|
- Mapsforge fix artifacts zoom > 17 [#231](https://github.com/mapsforge/vtm/issues/231)
|
||||||
- vtm-theme-comparator module [#387](https://github.com/mapsforge/vtm/issues/387)
|
- vtm-theme-comparator module [#387](https://github.com/mapsforge/vtm/issues/387)
|
||||||
- Many other minor improvements and bug fixes
|
- Many other minor improvements and bug fixes
|
||||||
|
@ -966,8 +966,8 @@
|
|||||||
<m k="area" v="~|false|no">
|
<m k="area" v="~|false|no">
|
||||||
<m k="highway">
|
<m k="highway">
|
||||||
<m k="oneway" v="yes|true" zoom-min="16">
|
<m k="oneway" v="yes|true" zoom-min="16">
|
||||||
<line fix="true" src="assets:patterns/oneway.svg" stipple="160"
|
<line fix="true" src="assets:patterns/oneway.svg" stipple="240"
|
||||||
stipple-stroke="#666666" width="6" />
|
stipple-stroke="#666666" width="9" />
|
||||||
</m>
|
</m>
|
||||||
</m>
|
</m>
|
||||||
</m>
|
</m>
|
||||||
|
@ -963,8 +963,8 @@
|
|||||||
<m k="area" v="~|false|no">
|
<m k="area" v="~|false|no">
|
||||||
<m k="kind_detail">
|
<m k="kind_detail">
|
||||||
<m k="oneway" v="yes|true" zoom-min="16">
|
<m k="oneway" v="yes|true" zoom-min="16">
|
||||||
<line fix="true" src="assets:patterns/oneway.svg" stipple="160"
|
<line fix="true" src="assets:patterns/oneway.svg" stipple="240"
|
||||||
stipple-stroke="#666666" width="6" />
|
stipple-stroke="#666666" width="9" />
|
||||||
</m>
|
</m>
|
||||||
</m>
|
</m>
|
||||||
</m>
|
</m>
|
||||||
|
@ -996,8 +996,8 @@
|
|||||||
<m k="area" v="~|false|no">
|
<m k="area" v="~|false|no">
|
||||||
<m k="highway">
|
<m k="highway">
|
||||||
<m k="oneway" v="yes|true" zoom-min="16">
|
<m k="oneway" v="yes|true" zoom-min="16">
|
||||||
<line fix="true" src="assets:patterns/oneway.svg" stipple="160"
|
<line fix="true" src="assets:patterns/oneway.svg" stipple="240"
|
||||||
stipple-stroke="#666666" width="6" />
|
stipple-stroke="#666666" width="9" />
|
||||||
</m>
|
</m>
|
||||||
</m>
|
</m>
|
||||||
</m>
|
</m>
|
||||||
|
@ -962,8 +962,8 @@
|
|||||||
<m k="area" v="~|false|no">
|
<m k="area" v="~|false|no">
|
||||||
<m k="highway">
|
<m k="highway">
|
||||||
<m k="oneway" v="yes|true" zoom-min="16">
|
<m k="oneway" v="yes|true" zoom-min="16">
|
||||||
<line fix="true" src="assets:patterns/oneway.svg" stipple="160"
|
<line fix="true" src="assets:patterns/oneway.svg" stipple="240"
|
||||||
stipple-stroke="#666666" width="6" />
|
stipple-stroke="#666666" width="9" />
|
||||||
</m>
|
</m>
|
||||||
</m>
|
</m>
|
||||||
</m>
|
</m>
|
||||||
|
@ -940,8 +940,8 @@
|
|||||||
<m k="area" v="~|false|no">
|
<m k="area" v="~|false|no">
|
||||||
<m k="highway">
|
<m k="highway">
|
||||||
<m k="oneway" v="yes|true" zoom-min="16">
|
<m k="oneway" v="yes|true" zoom-min="16">
|
||||||
<line fix="true" src="assets:patterns/oneway.svg" stipple="160"
|
<line fix="true" src="assets:patterns/oneway.svg" stipple="240"
|
||||||
stipple-stroke="#666666" width="6" />
|
stipple-stroke="#666666" width="9" />
|
||||||
</m>
|
</m>
|
||||||
</m>
|
</m>
|
||||||
</m>
|
</m>
|
||||||
|
@ -940,8 +940,8 @@
|
|||||||
<m k="area" v="~|false|no">
|
<m k="area" v="~|false|no">
|
||||||
<m k="highway">
|
<m k="highway">
|
||||||
<m k="oneway" v="yes|true" zoom-min="16">
|
<m k="oneway" v="yes|true" zoom-min="16">
|
||||||
<line fix="true" src="assets:patterns/oneway.svg" stipple="160"
|
<line fix="true" src="assets:patterns/oneway.svg" stipple="240"
|
||||||
stipple-stroke="#666666" width="6" />
|
stipple-stroke="#666666" width="9" />
|
||||||
</m>
|
</m>
|
||||||
</m>
|
</m>
|
||||||
</m>
|
</m>
|
||||||
|
@ -989,8 +989,8 @@
|
|||||||
<m k="area" v="~|false|no">
|
<m k="area" v="~|false|no">
|
||||||
<m k="highway">
|
<m k="highway">
|
||||||
<m k="oneway" v="yes|true" zoom-min="16">
|
<m k="oneway" v="yes|true" zoom-min="16">
|
||||||
<line fix="true" src="assets:patterns/oneway.svg" stipple="160"
|
<line fix="true" src="assets:patterns/oneway.svg" stipple="240"
|
||||||
stipple-stroke="#666666" width="6" />
|
stipple-stroke="#666666" width="9" />
|
||||||
</m>
|
</m>
|
||||||
</m>
|
</m>
|
||||||
</m>
|
</m>
|
||||||
|
@ -59,11 +59,6 @@ public abstract class CanvasAdapter {
|
|||||||
*/
|
*/
|
||||||
public static Platform platform = Platform.UNKNOWN;
|
public static Platform platform = Platform.UNKNOWN;
|
||||||
|
|
||||||
/**
|
|
||||||
* The scale.
|
|
||||||
*/
|
|
||||||
public static float scale = 1;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* The text scale.
|
* The text scale.
|
||||||
*/
|
*/
|
||||||
|
@ -169,8 +169,8 @@ public class XmlMapsforgeThemeBuilder extends DefaultHandler {
|
|||||||
public XmlMapsforgeThemeBuilder(ThemeFile theme, ThemeCallback themeCallback) {
|
public XmlMapsforgeThemeBuilder(ThemeFile theme, ThemeCallback themeCallback) {
|
||||||
mTheme = theme;
|
mTheme = theme;
|
||||||
mThemeCallback = themeCallback;
|
mThemeCallback = themeCallback;
|
||||||
mScale = CanvasAdapter.scale + (CanvasAdapter.getScale() - 1);
|
mScale = CanvasAdapter.getScale();
|
||||||
mScale2 = CanvasAdapter.scale + (CanvasAdapter.getScale() - 1) * 0.5f;
|
mScale2 = CanvasAdapter.getScale() * 0.5f;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@ -704,7 +704,7 @@ public class XmlMapsforgeThemeBuilder extends DefaultHandler {
|
|||||||
else if ("stroke-width".equals(name)) {
|
else if ("stroke-width".equals(name)) {
|
||||||
float strokeWidth = Float.parseFloat(value);
|
float strokeWidth = Float.parseFloat(value);
|
||||||
validateNonNegative("stroke-width", strokeWidth);
|
validateNonNegative("stroke-width", strokeWidth);
|
||||||
b.strokeWidth = strokeWidth * mScale2;
|
b.strokeWidth = strokeWidth * mScale;
|
||||||
|
|
||||||
} else if ("fade".equals(name))
|
} else if ("fade".equals(name))
|
||||||
b.fadeScale = Integer.parseInt(value);
|
b.fadeScale = Integer.parseInt(value);
|
||||||
@ -977,7 +977,7 @@ public class XmlMapsforgeThemeBuilder extends DefaultHandler {
|
|||||||
b.strokeColor = Color.parseColor(value);
|
b.strokeColor = Color.parseColor(value);
|
||||||
|
|
||||||
else if ("stroke-width".equals(name))
|
else if ("stroke-width".equals(name))
|
||||||
b.strokeWidth = Float.parseFloat(value) * mScale2;
|
b.strokeWidth = Float.parseFloat(value) * mScale;
|
||||||
|
|
||||||
else if ("caption".equals(name))
|
else if ("caption".equals(name))
|
||||||
b.caption = Boolean.parseBoolean(value);
|
b.caption = Boolean.parseBoolean(value);
|
||||||
@ -1055,7 +1055,7 @@ public class XmlMapsforgeThemeBuilder extends DefaultHandler {
|
|||||||
String value = attributes.getValue(i);
|
String value = attributes.getValue(i);
|
||||||
|
|
||||||
if ("r".equals(name) || "radius".equals(name))
|
if ("r".equals(name) || "radius".equals(name))
|
||||||
b.radius(Float.parseFloat(value) * mScale2);
|
b.radius(Float.parseFloat(value) * mScale);
|
||||||
|
|
||||||
else if ("cat".equals(name))
|
else if ("cat".equals(name))
|
||||||
b.cat(value);
|
b.cat(value);
|
||||||
@ -1070,7 +1070,7 @@ public class XmlMapsforgeThemeBuilder extends DefaultHandler {
|
|||||||
b.strokeColor(Color.parseColor(value));
|
b.strokeColor(Color.parseColor(value));
|
||||||
|
|
||||||
else if ("stroke-width".equals(name))
|
else if ("stroke-width".equals(name))
|
||||||
b.strokeWidth(Float.parseFloat(value) * mScale2);
|
b.strokeWidth(Float.parseFloat(value) * mScale);
|
||||||
|
|
||||||
else
|
else
|
||||||
logUnknownAttribute(elementName, name, value, i);
|
logUnknownAttribute(elementName, name, value, i);
|
||||||
|
@ -169,8 +169,8 @@ public class XmlThemeBuilder extends DefaultHandler {
|
|||||||
public XmlThemeBuilder(ThemeFile theme, ThemeCallback themeCallback) {
|
public XmlThemeBuilder(ThemeFile theme, ThemeCallback themeCallback) {
|
||||||
mTheme = theme;
|
mTheme = theme;
|
||||||
mThemeCallback = themeCallback;
|
mThemeCallback = themeCallback;
|
||||||
mScale = CanvasAdapter.scale + (CanvasAdapter.getScale() - 1);
|
mScale = CanvasAdapter.getScale();
|
||||||
mScale2 = CanvasAdapter.scale + (CanvasAdapter.getScale() - 1) * 0.5f;
|
mScale2 = CanvasAdapter.getScale() * 0.5f;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@ -702,7 +702,7 @@ public class XmlThemeBuilder extends DefaultHandler {
|
|||||||
else if ("stroke-width".equals(name)) {
|
else if ("stroke-width".equals(name)) {
|
||||||
float strokeWidth = Float.parseFloat(value);
|
float strokeWidth = Float.parseFloat(value);
|
||||||
validateNonNegative("stroke-width", strokeWidth);
|
validateNonNegative("stroke-width", strokeWidth);
|
||||||
b.strokeWidth = strokeWidth * mScale2;
|
b.strokeWidth = strokeWidth * mScale;
|
||||||
|
|
||||||
} else if ("fade".equals(name))
|
} else if ("fade".equals(name))
|
||||||
b.fadeScale = Integer.parseInt(value);
|
b.fadeScale = Integer.parseInt(value);
|
||||||
@ -975,7 +975,7 @@ public class XmlThemeBuilder extends DefaultHandler {
|
|||||||
b.strokeColor = Color.parseColor(value);
|
b.strokeColor = Color.parseColor(value);
|
||||||
|
|
||||||
else if ("stroke-width".equals(name))
|
else if ("stroke-width".equals(name))
|
||||||
b.strokeWidth = Float.parseFloat(value) * mScale2;
|
b.strokeWidth = Float.parseFloat(value) * mScale;
|
||||||
|
|
||||||
else if ("caption".equals(name))
|
else if ("caption".equals(name))
|
||||||
b.caption = Boolean.parseBoolean(value);
|
b.caption = Boolean.parseBoolean(value);
|
||||||
@ -1045,7 +1045,7 @@ public class XmlThemeBuilder extends DefaultHandler {
|
|||||||
String value = attributes.getValue(i);
|
String value = attributes.getValue(i);
|
||||||
|
|
||||||
if ("r".equals(name) || "radius".equals(name))
|
if ("r".equals(name) || "radius".equals(name))
|
||||||
b.radius(Float.parseFloat(value) * mScale2);
|
b.radius(Float.parseFloat(value) * mScale);
|
||||||
|
|
||||||
else if ("cat".equals(name))
|
else if ("cat".equals(name))
|
||||||
b.cat(value);
|
b.cat(value);
|
||||||
@ -1060,7 +1060,7 @@ public class XmlThemeBuilder extends DefaultHandler {
|
|||||||
b.strokeColor(Color.parseColor(value));
|
b.strokeColor(Color.parseColor(value));
|
||||||
|
|
||||||
else if ("stroke-width".equals(name))
|
else if ("stroke-width".equals(name))
|
||||||
b.strokeWidth(Float.parseFloat(value) * mScale2);
|
b.strokeWidth(Float.parseFloat(value) * mScale);
|
||||||
|
|
||||||
else
|
else
|
||||||
logUnknownAttribute(elementName, name, value, i);
|
logUnknownAttribute(elementName, name, value, i);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user