From 02a5cf8bb8cffb3e37e173fff1a57dc3b6933343 Mon Sep 17 00:00:00 2001 From: jannis Date: Sun, 3 Nov 2019 18:12:29 +0100 Subject: [PATCH] Height/Speed analyse screen: go with the position if not on map --- .../fitness/activity/WorkoutActivity.java | 17 +++++++++++++---- 1 file changed, 13 insertions(+), 4 deletions(-) diff --git a/app/src/main/java/de/tadris/fitness/activity/WorkoutActivity.java b/app/src/main/java/de/tadris/fitness/activity/WorkoutActivity.java index 4914a1d..6d14cfe 100644 --- a/app/src/main/java/de/tadris/fitness/activity/WorkoutActivity.java +++ b/app/src/main/java/de/tadris/fitness/activity/WorkoutActivity.java @@ -36,6 +36,7 @@ import com.github.mikephil.charting.listener.OnChartValueSelectedListener; import org.mapsforge.core.graphics.Paint; import org.mapsforge.core.model.BoundingBox; +import org.mapsforge.core.model.LatLong; import org.mapsforge.core.model.MapPosition; import org.mapsforge.core.util.LatLongUtils; import org.mapsforge.map.android.graphics.AndroidGraphicFactory; @@ -126,10 +127,7 @@ public abstract class WorkoutActivity extends FitoTrackActivity { @Override public void onValueSelected(Entry e, Highlight h) { onNothingSelected(); - Paint p= AndroidGraphicFactory.INSTANCE.createPaint(); - p.setColor(0xff693cff); - highlightingCircle= new FixedPixelCircle(findSample(converter, e).toLatLong(), 20, p, null); - map.addLayer(highlightingCircle); + onDiagramValueSelected(findSample(converter, e).toLatLong()); } @Override @@ -147,6 +145,17 @@ public abstract class WorkoutActivity extends FitoTrackActivity { return chart; } + protected void onDiagramValueSelected(LatLong latLong){ + Paint p= AndroidGraphicFactory.INSTANCE.createPaint(); + p.setColor(0xff693cff); + highlightingCircle= new FixedPixelCircle(latLong, 20, p, null); + map.addLayer(highlightingCircle); + + if(!map.getBoundingBox().contains(latLong)){ + map.getModel().mapViewPosition.animateTo(latLong); + } + } + interface SampleConverter{ void onCreate(); float getValue(WorkoutSample sample);