fromParts static method
Builds an address from raw parts: blank strings become null, and
formatted is derived from the parts when the provider has no line of
its own. Returns null when no part has any text, which a geocoder
should report as noResult.
Implementation
static Address? fromParts({
String? formatted,
String? name,
String? street,
String? houseNumber,
String? subLocality,
String? locality,
String? subAdministrativeArea,
String? administrativeArea,
String? postalCode,
String? country,
String? countryCode,
Map<String, Object?> raw = const {},
}) {
final parts = _Parts(
name: _clean(name),
street: _clean(street),
houseNumber: _clean(houseNumber),
subLocality: _clean(subLocality),
locality: _clean(locality),
subAdministrativeArea: _clean(subAdministrativeArea),
administrativeArea: _clean(administrativeArea),
postalCode: _clean(postalCode),
country: _clean(country),
);
final line = _clean(formatted) ?? parts.format();
if (line == null) return null;
return Address(
formatted: line,
name: parts.name,
street: parts.street,
houseNumber: parts.houseNumber,
subLocality: parts.subLocality,
locality: parts.locality,
subAdministrativeArea: parts.subAdministrativeArea,
administrativeArea: parts.administrativeArea,
postalCode: parts.postalCode,
country: parts.country,
countryCode: _clean(countryCode)?.toUpperCase(),
raw: raw,
);
}