Import
Usage
Props
Must be
true when Google Maps API is loaded. Displays “Cargando…” placeholder and disables input until loaded.Callback with parsed location data when a place is selected. See LocationProps interface below for structure.
Google Places API search types. Default:
["address"]. Options include “address”, “geocode”, “establishment”, etc.Google Places API fields to fetch. Default:
["geometry", "address_components"]. See Google Places API documentation for available fields.If
true, only shows route + street number in input after selection (e.g., “Calle Mayor 5”). If false, shows full address.Inherits all standard Input component props (placeholder, disabled, style, etc.) via
InputProps.LocationProps Interface
Full formatted address string (e.g., “Calle Mayor 5, 28013, Madrid, Madrid, España”).
Short address with city, province, and country (e.g., “Madrid, Madrid, España”).
Street name (e.g., “Calle Mayor”).
Street number (e.g., “5”).
City name from locality address component.
Province/state from administrative_area_level_2.
Postal/ZIP code.
Full country name (e.g., “España”).
ISO country code (e.g., “ES”).
Coordinates as Google Maps LatLngLiteral object.
Google Maps Setup
Load the API
Add this script tag to your HTML:Check if Loaded
Features
- Debounced search: 500ms delay using lodash.debounce
- Spanish language:
language: "es-ES"for API requests - Dropdown suggestions: Displays autocomplete predictions below input
- Address parsing: Extracts street, city, province, postal code, etc.
- Validation: Requires both route and zipCode, shows error if missing
- Error handling: Spanish error messages for invalid addresses
Validation Behavior
The component validates that selected addresses have:- Route (street name)
- Zip code (postal code)
“Necesitamos una dirección más precisa para encontrar tu código postal. Por favor, indica el número de la calle.”
Examples
Basic Address Input
Form Mode (Short Display)
Search Cities Only
Complete Form Integration
With Default Value
Custom Search Fields
Dropdown Styling
- Position: Absolute, 64px from top
- Shadow:
0px 4px 12px rgba(0, 0, 0, 0.08) - Border radius: 12px
- Hover effect: Neutral soft background
- Padding: 8px
API Limits
Google Maps Places API has usage limits and costs. Consider:- Per-session pricing: More cost-effective for autocomplete
- Quota limits: Monitor usage in Google Cloud Console
- Billing: Ensure billing is enabled for your API key
Troubleshooting
Input shows “Cargando…”
- Ensure Google Maps API script is loaded
- Check
isLoadedprop istrue - Verify API key is valid and billing is enabled
No suggestions appear
- Check browser console for API errors
- Verify Places library is included in the API script
- Ensure API key has Places API enabled
Error: “Necesitamos una dirección más precisa…”
- User must select a complete address with street number
- Some places don’t have postal codes
- Try selecting from dropdown instead of typing full address