aves/lib/model/settings/coordinate_format.dart
Thibault Deckers a47d82ebfc l10n
2021-03-09 12:36:49 +09:00

30 lines
862 B
Dart

import 'package:aves/geo/format.dart';
import 'package:aves/widgets/common/extensions/build_context.dart';
import 'package:flutter/widgets.dart';
import 'package:latlong/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;
default:
return toString();
}
}
String format(LatLng latLng) {
switch (this) {
case CoordinateFormat.dms:
return toDMS(latLng).join(', ');
case CoordinateFormat.decimal:
return [latLng.latitude, latLng.longitude].map((n) => n.toStringAsFixed(6)).join(', ');
default:
return toString();
}
}
}