From cb7428e168b514e779103631d027754fc88aa55b Mon Sep 17 00:00:00 2001 From: Hans-Joachim Zimmer Date: Mon, 25 Feb 2019 10:27:36 +0100 Subject: [PATCH 1/2] scale-up map to be better readable on high DPI displays --- .../net/osmtracker/activity/DisplayTrackMap.java | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/app/src/main/java/net/osmtracker/activity/DisplayTrackMap.java b/app/src/main/java/net/osmtracker/activity/DisplayTrackMap.java index 4e9f559d1..03a70d927 100644 --- a/app/src/main/java/net/osmtracker/activity/DisplayTrackMap.java +++ b/app/src/main/java/net/osmtracker/activity/DisplayTrackMap.java @@ -187,6 +187,8 @@ public void onCreate(Bundle savedInstanceState) { selectTileSource(); + setTileDpiScaling(); + createOverlays(); // Create content observer for trackpoints @@ -220,6 +222,14 @@ public void selectTileSource() { Log.e("TileMapName active", mapTile); osmView.setTileSource(selectMapTile(mapTile)); } + + /** + * Make text on map better readable on high DPI displays + */ + public void setTileDpiScaling () { + osmView.setTilesScaledToDpi(true); + } + /** * Returns a ITileSource for the map according to the selected mapTile @@ -278,6 +288,8 @@ private void resumeActivity(){ selectTileSource(); + setTileDpiScaling(); + // Refresh way points wayPointsOverlay.refresh(); From e65c513b5464c9d8237ad561f8078fc7712237c3 Mon Sep 17 00:00:00 2001 From: Hans-Joachim Zimmer Date: Mon, 25 Feb 2019 10:44:37 +0100 Subject: [PATCH 2/2] Set track width in map view to 0.5mm --- .../java/net/osmtracker/activity/DisplayTrackMap.java | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/app/src/main/java/net/osmtracker/activity/DisplayTrackMap.java b/app/src/main/java/net/osmtracker/activity/DisplayTrackMap.java index 03a70d927..1a3311f20 100644 --- a/app/src/main/java/net/osmtracker/activity/DisplayTrackMap.java +++ b/app/src/main/java/net/osmtracker/activity/DisplayTrackMap.java @@ -28,6 +28,7 @@ import android.os.Bundle; import android.os.Handler; import android.preference.PreferenceManager; +import android.util.DisplayMetrics; import android.util.Log; import android.view.Menu; import android.view.MenuInflater; @@ -367,7 +368,12 @@ public boolean onTouchEvent(MotionEvent event) { * Creates overlays over the OSM view */ private void createOverlays() { - pathOverlay = new PathOverlay(Color.BLUE, this); + DisplayMetrics metrics = new DisplayMetrics(); + this.getWindowManager().getDefaultDisplay().getMetrics(metrics); + + // set with to hopefully DPI independent 0.5mm + pathOverlay = new PathOverlay(Color.BLUE, (float)(metrics.densityDpi / 25.4 / 2),this); + osmView.getOverlays().add(pathOverlay); myLocationOverlay = new SimpleLocationOverlay(this);