diff --git a/src/main/java/es/kauron/estraba/controller/DashboardController.java b/src/main/java/es/kauron/estraba/controller/DashboardController.java index e46b541..c2cfef2 100644 --- a/src/main/java/es/kauron/estraba/controller/DashboardController.java +++ b/src/main/java/es/kauron/estraba/controller/DashboardController.java @@ -2,6 +2,7 @@ package es.kauron.estraba.controller; import com.jfoenix.controls.JFXButton; import com.jfoenix.controls.JFXSnackbar; +import com.lynden.gmapsfx.GoogleMapView; import es.kauron.estraba.App; import javafx.collections.ObservableList; import javafx.event.ActionEvent; @@ -122,8 +123,8 @@ public class DashboardController implements Initializable { @FXML private Tab tabMap; - //@FXML - //private GoogleMapView mapView; + @FXML + private GoogleMapView mapView; @FXML private JFXButton elevationButton; @@ -160,6 +161,7 @@ public class DashboardController implements Initializable { private JFXSnackbar snackbar; private final double DISTANCE_EPSILON = 10; + private final double KILOMETER_CUTOFF = 10000; @Override public void initialize(URL location, ResourceBundle resources) { @@ -180,7 +182,6 @@ public class DashboardController implements Initializable { @FXML private void onMapButton(ActionEvent event){ - mapChart.getData().clear(); switch (((JFXButton)event.getSource()).getId()) { case "elevationButton": mapChart.setData(elevationChart.getData()); @@ -229,8 +230,13 @@ public class DashboardController implements Initializable { + LocalTime.MIDNIGHT.plus(track.getTotalDuration()) .format(DateTimeFormatter.ofLocalizedTime(FormatStyle.MEDIUM))); - valueDistance.setText(track.getTotalDistance() - + App.GENERAL_BUNDLE.getString("unit.m")); + if (track.getTotalDistance() > KILOMETER_CUTOFF) { + valueDistance.setText(String.format("%.2f", track.getTotalDistance() / 1000) + + App.GENERAL_BUNDLE.getString("unit.km")); + } else { + valueDistance.setText(String.format("%.2f", track.getTotalDistance()) + + App.GENERAL_BUNDLE.getString("unit.m")); + } valueElevation.setText((int)(track.getTotalAscent() - track.getTotalDescend()) + App.GENERAL_BUNDLE.getString("unit.m")); @@ -252,7 +258,6 @@ public class DashboardController implements Initializable { double currentDistance = 0.0; double currentHeight = 0.0; for (Chunk chunk : chunks) { - System.err.println(chunk.getDistance()); currentDistance += chunk.getDistance(); if (chunk.getDistance() < DISTANCE_EPSILON) continue; currentHeight += chunk.getAscent() - chunk.getDescend(); @@ -264,11 +269,11 @@ public class DashboardController implements Initializable { cadenceChartData.getData().add(new XYChart.Data<>(currentDistance, chunk.getAvgCadence())); String zone; - if (chunk.getAvgHeartRate() > 170) zone = "Zone 4"; - else if (chunk.getAvgHeartRate() > 150) zone = "Zone 3"; - else if (chunk.getAvgHeartRate() > 130) zone = "Zone 2"; - else if (chunk.getAvgHeartRate() > 110) zone = "Zone 1"; - else zone = "Zone 0"; + if (chunk.getAvgHeartRate() > 170) zone = App.GENERAL_BUNDLE.getString("zone.anaerobic"); + else if (chunk.getAvgHeartRate() > 150) zone = App.GENERAL_BUNDLE.getString("zone.threshold"); + else if (chunk.getAvgHeartRate() > 130) zone = App.GENERAL_BUNDLE.getString("zone.tempo"); + else if (chunk.getAvgHeartRate() > 110) zone = App.GENERAL_BUNDLE.getString("zone.endurance"); + else zone = App.GENERAL_BUNDLE.getString("zone.recovery"); boolean pieFound = false; for (PieChart.Data d : zoneChart.getData()){ diff --git a/src/main/resources/es/kauron/estraba/fxml/Dashboard.fxml b/src/main/resources/es/kauron/estraba/fxml/Dashboard.fxml index 833c3ef..55813f5 100644 --- a/src/main/resources/es/kauron/estraba/fxml/Dashboard.fxml +++ b/src/main/resources/es/kauron/estraba/fxml/Dashboard.fxml @@ -2,6 +2,7 @@ + @@ -61,7 +62,7 @@ -