getLocationData static method

Future<Map<String, String>> getLocationData()

Implementation

static Future<Map<String, String>> getLocationData() async {
  Map<String, String> locObjects = {};
  try {
    Position position = await Geolocator.getCurrentPosition(
        desiredAccuracy: LocationAccuracy.high);
    double latitude = position.latitude;
    double longitude = position.longitude;

    List<Placemark> placemarks =
    await placemarkFromCoordinates(latitude, longitude);

    Placemark place = placemarks[0];
    String currentAddress =
        "${place.street}, ${place.locality}, ${place.postalCode}, ${place.administrativeArea}, ${place.country}";
    // String currentAddress = "${place.street}, ${place.locality}";

    locObjects = {
      'Address': currentAddress,
      'City': '${place.locality}',
      'CityName': '${place.locality}',
      'Latitude': '$latitude',
      'Longitude': '$longitude',
      'Pincode': '${place.postalCode}',
      'State': '${place.administrativeArea}',
      'StateName': '${place.administrativeArea}',
      'Country': '${place.country}',
      'CountryName': '${place.country}'
    };
  } catch (e) {
    print('Error: $e');
  }
  return locObjects;
}