react-native-google-places-autocomplete icon indicating copy to clipboard operation
react-native-google-places-autocomplete copied to clipboard

I can't get the postal code

Open Ellathet opened this issue 2 years ago • 2 comments

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

Ellathet avatar Aug 18 '22 12:08 Ellathet

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

ashokkumar-hub avatar Feb 21 '23 08:02 ashokkumar-hub

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', }}

saurabhsaneja avatar May 26 '23 10:05 saurabhsaneja