I'm going through a probelam using Google Maps JavaScript API, without looking for the street name it brings the city and state, but not always brings the zip code, I needed that whenever I searched for the street name it necessarily brought the zip code also, the code is like this:
document.addEventListener('DOMContentLoaded', function () {
let searchAddress = document.getElementById('search-address');
let autocomplete = new google.maps.places.Autocomplete(searchAddress, {
componentRestrictions: { country: 'br' },
});
autocomplete.addListener('place_changed', function () {
let place = autocomplete.getPlace();
console.log(place);
let data = place;
let addressComponents = data.address_components;
let rua = '';
let bairro = '';
let cidade = '';
let estado = '';
let cep = '';
for (const component of addressComponents) {
const types = component.types;
if (types.includes('route')) {
rua = component.long_name;
} else if (types.includes('sublocality_level_1')) {
bairro = component.long_name;
} else if (types.includes('administrative_area_level_2')) {
cidade = component.long_name;
} else if (types.includes('administrative_area_level_1')) {
estado = component.short_name;
} else if (types.includes('postal_code')) {
cep = component.long_name;
}
}
console.log('Rua:', rua);
console.log('Bairro:', bairro);
console.log('Cidade:', cidade);
console.log('Estado:', estado);
console.log('CEP:', cep);
});
});