react-native-google-places-autocomplete
react-native-google-places-autocomplete copied to clipboard
I can't get the postal code
My problem
I need save postal zip code in state inside my component, but:
Code
<GooglePlacesAutocomplete
ref={ref}
placeholder={'Please enter your address'}
onPress={(data, details = null) => {
const code = details?.address_components.find(
(addressComponent) =>
addressComponent.types.includes('postal_code'),
)?.short_name;
setZipCode(code);
}}
fetchDetails={true}
/>
I find this example in code, but don't return zip code from details...
Additional context
-
Library Version: ^2.1.3
-
React Native Version: "0.63.3"
-
[ ] iOS
-
[x] Android
-
[ ] Web
You can get the postalCode and City using address_components in the response
<GooglePlacesAutocomplete
placeholder={"Address"}
fetchDetails={true}
onPress={(data, details = null) => {
const zipCode = details?.address_components.find((addressComponent) =>
addressComponent.types.includes('postal_code'),
)?.short_name;
const city = details?.address_components.find((addressComponent) =>
addressComponent.types.includes('locality'),
)?.short_name;
console.log("zipCode", zipCode)
console.log("city",city)
}}
minLength={4}
query={{
key: "YOUR_API_KEY",
language: 'en',
types: 'address'
}}
nearbyPlacesAPI="GoogleReverseGeocoding"
textInputProps={{
onChangeText: (text) => { },
onSubmitEditing: () => { }
}}
/>
Reference - https://stackoverflow.com/questions/63099383/google-places-api-not-returning-postal-code
in GooglePlacesDetailsQuery prop, in fields key, add 'address_components,formatted_address'
GooglePlacesDetailsQuery={{ fields: 'geometry', libraries: 'places', components: 'country:us', // Limit results to the United States (optional) fields: 'address_components,formatted_address', }}