import 'package:latlong2/latlong.dart'; class GpxTrack { final String name; final Set> tracks; const GpxTrack({ required this.name, required this.tracks, }); bool get isEmpty => tracks.every((segment) => segment.isEmpty); int get pointCount => tracks.fold( 0, (sum, segment) => sum + segment.length, ); LatLng? get center { final points = tracks.expand((segment) => segment).toList(); if (points.isEmpty) return null; final latitude = points.fold( 0, (sum, point) => sum + point.latitude, ) / points.length; final longitude = points.fold( 0, (sum, point) => sum + point.longitude, ) / points.length; return LatLng(latitude, longitude); } }