getAddressFromGPS method

Future<AddressComponent?> getAddressFromGPS()

The function getAddressFromGPS retrieves address information based on the current GPS location.

Returns: The getAddressFromGPS function returns a Future<AddressComponent?>. This means it returns a future that may contain an AddressComponent object or be null.

Implementation

Future<AddressComponent?> getAddressFromGPS() async {
  try {
    bool hasPermission = await _checkAndRequestLocationPermission();
    if (!hasPermission) {
      Permission.location.request();
      return null;
    }

    Position position = await _getCurrentPosition();
    List<Placemark> placemarks = await _getPlacemarks(position);

    AddressComponent addressComponent =
        _createAddressComponent(position, placemarks.first);

    return addressComponent;
  } catch (e) {
    throw Exception(e);
  }
}