cofounderella/lib/models/location.dart

69 lines
1.6 KiB
Dart

import '../helper.dart';
class MyLocation {
final String street;
final String country;
/// DE: Bundesland
final String? administrativeArea;
/// City
final String locality;
/// DE: Stadtteil
final String? subLocality;
final String? postalCode;
final double? latitude;
final double? longitude;
MyLocation({
required this.street,
required this.country,
required this.administrativeArea,
required this.locality,
required this.subLocality,
required this.postalCode,
required this.latitude,
required this.longitude,
});
// convert to a map
Map<String, dynamic> toMap() {
return {
'street': street,
'country': country,
'administrativeArea': administrativeArea,
'locality': locality,
'subLocality': subLocality,
'postalCode': postalCode,
'latitude': latitude,
'longitude': longitude,
};
}
/// Returns: locality, country. In case of an error: latitude, longitude.
String toStringDegree() {
try {
String latResult = convertDecimalToDMS(latitude!);
String longResult = convertDecimalToDMS(longitude!);
return '$latResult, $longResult';
} catch (e) {
// on error return origin values
return '$latitude, $longitude';
}
}
@override
/// Returns: locality, country
String toString() {
return '$locality, $country';
}
@override
int get hashCode => Object.hash(latitude, longitude);
@override
bool operator ==(Object other) =>
other is MyLocation &&
latitude == other.latitude &&
longitude == other.longitude;
}