getAddressObject method

Map<String, PlaceName> getAddressObject(
  1. List addressComponents
)

Implementation

Map<String, PlaceName> getAddressObject(List<dynamic> addressComponents) {
  final Map<String, List<String>> shouldBeComponent = <String, List<String>>{
    'home': <String>['street_number'],
    'postal_code': <String>['postal_code'],
    'street': <String>['street_address', 'route'],
    'region': <String>[
      'administrative_area_level_1',
      'administrative_area_level_2',
      'administrative_area_level_3',
      'administrative_area_level_4',
      'administrative_area_level_5'
    ],
    'city': <String>[
      'political'
          'locality',
      'sublocality',
      'sublocality_level_1',
      'sublocality_level_2',
      'sublocality_level_3',
      'sublocality_level_4'
    ],
    'country': <String>['country'],
    'plus_code': <String>['plus_code']
  };

  final Map<String, PlaceName> address = <String, PlaceName>{};

  for (Map<String, dynamic> element in addressComponents) {
    for (String shouldBe in shouldBeComponent.keys) {
      if (shouldBeComponent[shouldBe]!.contains(element['types']![0])) {
        address[shouldBe] = (PlaceName.fromJson(element));
      }
    }
  }
  return address;
}