From f90ddeabb46c633a8abb5011b86c737eba63c09e Mon Sep 17 00:00:00 2001 From: "DESKTOP-T0O5CDB\\DESK-555BD" Date: Thu, 24 Oct 2024 22:34:53 -0600 Subject: [PATCH] Fix distance accuracy --- wwwroot/js/odometerrecord.js | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-) diff --git a/wwwroot/js/odometerrecord.js b/wwwroot/js/odometerrecord.js index 908381b..eeb2441 100644 --- a/wwwroot/js/odometerrecord.js +++ b/wwwroot/js/odometerrecord.js @@ -283,11 +283,16 @@ function recordPosition(position) { var distanceTraveled = calculateDistance(tripLastPosition.latitude, tripLastPosition.longitude, currentLat, currentLong); var recordedTotalOdometer = getRecordedOdometer(); if (distanceTraveled >= 0.1) { //if greater than 0.1 mile or KM then it's significant - recordedTotalOdometer += parseFloat(distanceTraveled.toFixed(3)); - var recordedOdometerString = recordedTotalOdometer.toFixed(3).toString().split('.'); + recordedTotalOdometer += distanceTraveled; + var recordedOdometerString = recordedTotalOdometer.toString().split('.'); $(".trip-odometer").html(recordedOdometerString[0]); if (recordedOdometerString.length == 2) { - $(".trip-odometer-sub").html(recordedOdometerString[1]); + if (recordedOdometerString[1].toString().length > 3) { + $(".trip-odometer-sub").html(recordedOdometerString[1].toString().substring(0, 3)); + } else { + $(".trip-odometer-sub").html(recordedOdometerString[1].toString()); + } + $(".trip-odometer-sub").attr("data-value", recordedOdometerString[1]); } //update last position tripLastPosition = { @@ -349,8 +354,8 @@ function calculateDistance(lat1, lon1, lat2, lon2) { return Math.abs(calculatedDistance); } function getRecordedOdometer() { - var recordedOdometer = parseInt($(".trip-odometer").html()); - var recordedSubOdometer = parseInt($(".trip-odometer-sub").html()); + var recordedOdometer = $(".trip-odometer").html(); + var recordedSubOdometer = $(".trip-odometer-sub").attr("data-value"); return parseFloat(`${recordedOdometer}.${recordedSubOdometer}`); } function saveRecordedOdometer() {