Address.fromJson constructor

Address.fromJson(
  1. Map<String, dynamic> json
)

Implementation

factory Address.fromJson(Map<String, dynamic> json) {
  // Creates an instance of the class from a JSON map.
  //
  // Takes a [Map<String, dynamic>] and returns a new instance
  // with fields populated from the JSON data.
  String formattedAddress = json['formattedAddress'];
  final addressComponents = json['addressComponents'];
  double longitude = json['location']['longitude'];
  double latitude = json['location']['latitude'];
  String state = "";
  String postalCode = "";
  int? streetNumber;
  String? street;
  String country = "";
  String city = "";
  for (var c in addressComponents) {
    final List type = c['types'];
    if (type.contains('street_number')) {
      streetNumber = int.parse(c['longText']);
    }
    if (type.contains('route')) {
      street = c['longText'];
    }
    if (type.contains('locality')) {
      city = c['longText'];
    }
    if (type.contains('postal_code')) {
      postalCode = c['longText'];
    }
    if (type.contains('country')) {
      country = c['longText'];
    }
    if (type.contains('administrative_area_level_1')) {
      state = c['longText'];
    }
  }

  return Address(
    formattedAddress: formattedAddress,
    streetNumber: streetNumber,
    street: street,
    city: city,
    state: state,
    postalCode: postalCode,
    country: country,
    longitude: longitude,
    latitude: latitude,
  );
}