import 'package:flutter_map/flutter_map.dart'; import 'package:location/data/bean/atmob_track_point.dart'; class TrackUtil { static List points2TraceLocation( List? pointsList) { if (pointsList == null) { return []; } List traceLocations = []; for (var value in pointsList) { TraceLocation traceLocation = TraceLocation( latitude: value.latitude, longitude: value.longitude, time: value.time, speed: value.speed, bearing: value.bearing, ); traceLocations.add(traceLocation); } return traceLocations; } static List traceLocation2LatLng( List? traceLocations) { if (traceLocations == null) { return []; } return traceLocations .map((e) => LatLng(latitude: e.latitude, longitude: e.longitude)) .toList(); } static String formatDurationFromMillis(int milliseconds) { final totalMinutes = milliseconds ~/ 60000; // 毫秒转分钟 final hours = totalMinutes ~/ 60; final minutes = totalMinutes % 60; if (hours > 0 && minutes > 0) { return '${hours}h${minutes}min'; } else if (hours > 0) { return '${hours}h'; } else { return '${minutes}min'; } } }