import 'package:aves/utils/geo_utils.dart'; import 'package:aves/widgets/common/extensions/build_context.dart'; import 'package:flutter/widgets.dart'; import 'package:latlong2/latlong.dart'; import 'enums.dart'; extension ExtraCoordinateFormat on CoordinateFormat { String getName(BuildContext context) { switch (this) { case CoordinateFormat.dms: return context.l10n.coordinateFormatDms; case CoordinateFormat.decimal: return context.l10n.coordinateFormatDecimal; } } String format(LatLng latLng, {bool minuteSecondPadding = false, int dmsSecondDecimals = 2}) { switch (this) { case CoordinateFormat.dms: return GeoUtils.toDMS(latLng, minuteSecondPadding: minuteSecondPadding, secondDecimals: dmsSecondDecimals).join(', '); case CoordinateFormat.decimal: return [latLng.latitude, latLng.longitude].map((n) => n.toStringAsFixed(6)).join(', '); } } }