26 lines
933 B
Dart
26 lines
933 B
Dart
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(', ');
|
|
}
|
|
}
|
|
}
|