getAddressFromCoordinates method
Get address details from coordinates using reverse geocoding
Implementation
Future<LocationModel?> getAddressFromCoordinates(
double latitude,
double longitude, {
String? localeIdentifier,
}) async {
try {
List<Placemark> placemarks = await placemarkFromCoordinates(
latitude,
longitude,
);
if (placemarks.isNotEmpty) {
Placemark place = placemarks.first;
return LocationModel(
latitude: latitude,
longitude: longitude,
address: [
place.street,
place.subLocality,
place.locality,
place.administrativeArea,
place.postalCode,
place.country,
].where((s) => s?.isNotEmpty == true).join(', '),
street: place.street,
locality: place.locality, // City
subLocality: place.subLocality,
administrativeArea: place.administrativeArea, // State
subAdministrativeArea: place.subAdministrativeArea,
country: place.country,
postalCode: place.postalCode,
countryCode: place.isoCountryCode,
);
}
return LocationModel.fromCoordinates(
latitude: latitude,
longitude: longitude,
);
} catch (e) {
throw Exception('Failed to get address from coordinates: $e');
}
}