updateDistance method Null safety

dynamic updateDistance(
  1. EngineSettings settings
)

Update the distance with a formatted value with the trailing unit

Note: distances < 1km will be shown in meters

Implementation

updateDistance(EngineSettings settings) {
  final length = Length(removeTrailingZeros: false);
  length.convert(LENGTH.meters, result.distance);

  late Unit _distance;
  late dynamic value;
  final isMetric = settings.isMetric;

  // Miles
  if (!isMetric) {
    _distance = length.miles;
    value = _distance.value!.to2Dp;
  } else {
    final inKm = result.distance >= 1000;
    // Kilometers
    if (inKm) {
      _distance = length.kilometers;
      value = _distance.value!.to2Dp;
    }
    // Meters
    else {
      _distance = length.meters;
      value = _distance.value!.floor();
    }
  }

  distance.value = '$value ${_distance.symbol}';
}