Introduzione
Text Search (New) restituisce informazioni su un insieme di luoghi in base a una stringa, ad esempio "pizza a New York", "negozi di scarpe vicino a Ottawa" o "123 Main Street". Il servizio risponde con un elenco di luoghi corrispondenti alla stringa di testo e a qualsiasi bias di posizione che è stato impostato.
Il servizio è particolarmente utile per eseguire query di indirizzi ambigui in un sistema automatizzato e i componenti non indirizzo della stringa possono corrispondere ad attività e indirizzi. Esempi di query di indirizzi ambigui sono indirizzi formattati in modo errato o richieste che includono componenti non indirizzo, ad esempio nomi di attività. Le richieste come i primi due esempi nella tabella seguente potrebbero restituire zero risultati a meno che non sia impostata una località, ad esempio regione, limitazione della località o preferenza della località.
"10 High Street, UK" o "123 Main Street, US" | Più "High Street" nel Regno Unito; più "Main Street" negli Stati Uniti. La query non restituisce i risultati desiderati a meno che non sia impostata una limitazione della località. |
"ChainRestaurant New York" | Più sedi di "ChainRestaurant" a New York; nessun indirizzo o neanche nome della via. |
"10 High Street, Escher UK" o "123 Main Street, Pleasanton US" | Solo una "High Street" nella città di Escher nel Regno Unito; solo una "Main Street" nella città di Pleasanton, in California, negli Stati Uniti. |
"UniqueRestaurantName New York" | Un solo stabilimento con questo nome a New York; non è necessario un indirizzo per differenziarlo. |
"pizzerie a New York" | Questa query contiene la limitazione della località e "pizzerie" è un tipo di luogo ben definito. Restituisce più risultati. |
"+1 514-670-8700" | Questa query contiene un numero di telefono. Restituisce più risultati per i luoghi associati a quel numero di telefono. |
L'Explorer API ti consente di effettuare richieste live per familiarizzare con l'API e le relative opzioni:
Richieste di ricerca testuale (novità)
Una richiesta di ricerca di testo (nuova) è una richiesta HTTP POST del seguente formato:
https://places.googleapis.com/v1/places:searchText
Trasmetti tutti i parametri nel corpo della richiesta JSON o nelle intestazioni nell'ambito della richiesta POST. Ad esempio:
curl -X POST -d '{ "textQuery" : "Spicy Vegetarian Food in Sydney, Australia" }' \ -H 'Content-Type: application/json' -H 'X-Goog-Api-Key: API_KEY' \ -H 'X-Goog-FieldMask: places.displayName,places.formattedAddress,places.priceLevel' \ 'https://places.googleapis.com/v1/places:searchText'
Risposte di Ricerca testuale (nuova)
Text Search (New) restituisce un oggetto JSON come risposta. Nella risposta:
- L'array
places
contiene tutti i luoghi corrispondenti. - Ogni posizione nell'array è rappresentata da un
oggetto
Place
. L'oggettoPlace
contiene informazioni dettagliate su un singolo luogo. - Il FieldMask passato nella richiesta specifica l'elenco dei campi restituiti nell'oggetto
Place
.
L'oggetto JSON completo ha il seguente formato:
{ "places": [ { object (Place) } ] }
Parametri obbligatori
-
FieldMask
Specifica l'elenco dei campi da restituire nella risposta creando una maschera del campo di risposta. Passa la maschera del campo di risposta al metodo utilizzando il parametro URL
$fields
ofields
oppure utilizzando l'intestazione HTTPX-Goog-FieldMask
. Nella risposta non è presente un elenco predefinito di campi restituiti. Se ometti la maschera del campo, il metodo restituisce un errore.Il mascheramento dei campi è una buona pratica di progettazione per assicurarsi di non richiedere dati non necessari, il che aiuta a evitare tempi di elaborazione e addebiti di fatturazione non necessari.
Specifica un elenco separato da virgole dei tipi di dati sui luoghi da restituire. Ad esempio, per recuperare il nome visualizzato e l'indirizzo del luogo.
X-Goog-FieldMask: places.displayName,places.formattedAddress
Utilizza
*
per recuperare tutti i campi.X-Goog-FieldMask: *
Specifica uno o più dei seguenti campi:
I seguenti campi attivano lo SKU solo ID Text Search Essentials:
places.attributions
places.id
places.name
*
nextPageToken
* Il campo
places.name
contiene il nome risorsa del luogo nel formato:places/PLACE_ID
. Utilizzaplaces.displayName
nello SKU Pro per accedere al nome testuale del luogo.I seguenti campi attivano lo SKU Text Search Pro:
places.accessibilityOptions
places.addressComponents
places.addressDescriptor
*
places.adrFormatAddress
places.businessStatus
places.containingPlaces
places.displayName
places.formattedAddress
places.googleMapsLinks
**
places.googleMapsUri
places.iconBackgroundColor
places.iconMaskBaseUri
places.location
places.photos
places.plusCode
places.postalAddress
places.primaryType
places.primaryTypeDisplayName
places.pureServiceAreaBusiness
places.shortFormattedAddress
places.subDestinations
places.types
places.utcOffsetMinutes
places.viewport
* I descrittori degli indirizzi sono generalmente disponibili per i clienti in India e sono sperimentali altrove.
** Il campoplaces.googleMapsLinks
si trova nella fase di anteprima pre-GA e non è previsto alcun addebito, il che significa che la fatturazione è pari a 0 $per l'utilizzo durante l'anteprima.I seguenti campi attivano lo SKU Text Search Enterprise:
places.currentOpeningHours
places.currentSecondaryOpeningHours
places.internationalPhoneNumber
places.nationalPhoneNumber
places.priceLevel
places.priceRange
places.rating
places.regularOpeningHours
places.regularSecondaryOpeningHours
places.userRatingCount
places.websiteUri
I seguenti campi attivano lo SKU Text Search Enterprise + Atmosphere:
places.allowsDogs
places.curbsidePickup
places.delivery
places.dineIn
places.editorialSummary
places.evChargeAmenitySummary
places.evChargeOptions
places.fuelOptions
places.generativeSummary
places.goodForChildren
places.goodForGroups
places.goodForWatchingSports
places.liveMusic
places.menuForChildren
places.neighborhoodSummary
places.parkingOptions
places.paymentOptions
places.outdoorSeating
places.reservable
places.restroom
places.reviews
places.reviewSummary
places.routingSummaries
*
places.servesBeer
places.servesBreakfast
places.servesBrunch
places.servesCocktails
places.servesCoffee
places.servesDessert
places.servesDinner
places.servesLunch
places.servesVegetarianFood
places.servesWine
places.takeout
* Solo ricerca di testo e ricerca nelle vicinanze
-
textQuery
La stringa di testo su cui eseguire la ricerca, ad esempio "ristorante", "Via Roma 123" o "il posto migliore da visitare a Roma". L'API restituisce le corrispondenze candidate in base a questa stringa e ordina i risultati in base alla loro pertinenza percepita.
Parametri facoltativi
includedType
I risultati vengono orientati verso i luoghi che corrispondono al tipo specificato definito dalla tabella A. È possibile specificare un solo tipo. Ad esempio:
"includedType":"bar"
"includedType":"pharmacy"
La ricerca di testo (nuova) applica il filtro per tipo a determinate query, a seconda dell'applicabilità. Ad esempio, il filtro per tipo potrebbe non essere applicato alle query per indirizzi specifici ("Via Principale 123"), ma viene quasi sempre applicato alle query categoriche ("negozi nelle vicinanze" o "centri commerciali").
Per applicare il filtro per tipo a tutte le query, imposta
strictTypeFiltering
sutrue
.-
includePureServiceAreaBusinesses
Se impostato su
true
, la risposta include le attività che visitano o effettuano consegne direttamente ai clienti, ma non hanno una sede fisica. Se impostato sufalse
, l'API restituisce solo le attività con una sede fisica. languageCode
La lingua in cui restituire i risultati.
- Consulta l'elenco delle lingue supportate. Google aggiorna spesso le lingue supportate, pertanto questo elenco potrebbe non essere esaustivo.
-
Se
languageCode
non viene fornito, l'API utilizzaen
come valore predefinito. Se specifichi un codice lingua non valido, l'API restituisce un erroreINVALID_ARGUMENT
. - L'API fa del suo meglio per fornire un indirizzo stradale leggibile sia per l'utente sia per gli abitanti del luogo. Per raggiungere questo obiettivo, restituisce gli indirizzi stradali nella lingua locale, traslitterati in un sistema di scrittura leggibile dall'utente, se necessario, rispettando la lingua preferita. Tutti gli altri indirizzi vengono restituiti nella lingua preferita. Tutti i componenti dell'indirizzo vengono restituiti nella stessa lingua, scelta dal primo componente.
- Se un nome non è disponibile nella lingua preferita, l'API utilizza la corrispondenza più vicina.
- La lingua preferita ha una piccola influenza sull'insieme di risultati che l'API sceglie di restituire e sull'ordine in cui vengono restituiti. Il geocoder interpreta le abbreviazioni in modo diverso a seconda della lingua, ad esempio le abbreviazioni per i tipi di strade o i sinonimi che potrebbero essere validi in una lingua ma non in un'altra.
locationBias
Specifica un'area in cui cercare. Questa posizione funge da bias, il che significa che possono essere restituiti risultati intorno alla posizione specificata, inclusi risultati al di fuori dell'area specificata.
Puoi specificare
locationRestriction
olocationBias
, ma non entrambi. ConsideralocationRestriction
come la regione in cui devono trovarsi i risultati elocationBias
come la regione in cui è probabile che si trovino i risultati, ma possono trovarsi anche al di fuori dell'area.Specifica la regione come viewport rettangolare o come cerchio.
Un cerchio è definito dal punto centrale e dal raggio in metri. Il raggio deve essere compreso tra 0,0 e 50.000,0 inclusi. Il raggio predefinito è 0,0. Ad esempio:
"locationBias": { "circle": { "center": { "latitude": 37.7937, "longitude": -122.3965 }, "radius": 500.0 } }
Un rettangolo è un'area visibile di latitudine e longitudine, rappresentata da due punti basso e alto diagonalmente opposti. Il punto più basso indica l'angolo sud-ovest del rettangolo, mentre il punto più alto rappresenta l'angolo nord-est del rettangolo.
Un viewport è considerato una regione chiusa, il che significa che include il suo confine. I limiti di latitudine devono essere compresi tra -90 e 90 gradi inclusi e i limiti di longitudine devono essere compresi tra -180 e 180 gradi inclusi:
- Se
low
=high
, l'area visibile è costituita da un singolo punto. - Se
low.longitude
>high.longitude
, l'intervallo di longitudine è invertito (l'area visibile attraversa la linea di longitudine di 180 gradi). - Se
low.longitude
= -180 gradi ehigh.longitude
= 180 gradi, l'area visibile include tutte le longitudini. - Se
low.longitude
= 180 gradi ehigh.longitude
= -180 gradi, l'intervallo di longitudine è vuoto. - Se
low.latitude
>high.latitude
, l'intervallo di latitudine è vuoto.
Sia il valore di base che il valore finale devono essere compilati e la casella rappresentata non può essere vuota. Un viewport vuoto genera un errore.
Ad esempio, questa finestra completamente racchiude New York City:
"locationBias": { "rectangle": { "low": { "latitude": 40.477398, "longitude": -74.259087 }, "high": { "latitude": 40.91618, "longitude": -73.70018 } } }
- Se
locationRestriction
Specifica un'area in cui cercare. I risultati al di fuori dell'area specificata non vengono restituiti.
Specifica la regione come viewport rettangolare. Per un esempio di definizione dell'area visibile, vedi la descrizione di
locationBias
.Puoi specificare
locationRestriction
olocationBias
, ma non entrambi. ConsideralocationRestriction
come la regione in cui devono trovarsi i risultati elocationBias
come la regione in cui è probabile che si trovino i risultati, ma possono trovarsi anche al di fuori dell'area.-
maxResultCount (obsoleto)
Specifica il numero di risultati (compreso tra 1 e 20) da visualizzare per pagina. Ad esempio, se imposti un valore
maxResultCount
pari a 5, verranno restituiti fino a 5 risultati nella prima pagina. Se la query può restituire altri risultati, la risposta include unnextPageToken
che puoi passare a una richiesta successiva per accedere alla pagina successiva. evOptions
Specifica i parametri per l'identificazione dei connettori di ricarica e delle velocità di ricarica disponibili per i veicoli elettrici (EV).
connectorTypes
Filtra in base al tipo di connettore di ricarica EV disponibile in un luogo. Un luogo che non supporta nessuno dei tipi di connettore verrà filtrato. I tipi di connettori di ricarica per veicoli elettrici supportati includono caricabatterie combinati (CA e CC), caricabatterie Tesla, caricabatterie conformi a GB/T (per la ricarica rapida di veicoli elettrici in Cina) e caricabatterie per prese a muro. Per saperne di più, consulta la documentazione di riferimento.
- Per filtrare i risultati in base a un connettore specifico supportato, imposta
connectorTypes
su quel valore. Ad esempio, per trovare i connettori di tipo 1 J1772, impostaconnectorTypes
suEV_CONNECTOR_TYPE_J1772
. - Per filtrare i risultati per i connettori non supportati, imposta
connectorTypes
suEV_CONNECTOR_TYPE_OTHER
. - Per filtrare i risultati per qualsiasi tipo di connettore che sia una presa a muro, imposta
connectorTypes
suEV_CONNECTOR_TYPE_UNSPECIFIED_WALL_OUTLET
. - Per filtrare i risultati per qualsiasi tipo di connettore, imposta
connectorTypes
suEV_CONNECTOR_TYPE_UNSPECIFIED
oppure non impostare un valore perconnectorTypes
.
- Per filtrare i risultati in base a un connettore specifico supportato, imposta
minimumChargingRateKw
Filtra i luoghi in base alla velocità di ricarica minima per veicoli elettrici in kilowatt (kW). Tutti i luoghi con una tariffa inferiore a quella minima vengono filtrati. Ad esempio, per trovare stazioni di ricarica EV con velocità di ricarica di almeno 10 kW, puoi impostare questo parametro su "10".
minRating
Limita i risultati solo a quelli la cui valutazione media degli utenti è maggiore o uguale a questo limite. I valori devono essere compresi tra 0,0 e 5,0 (inclusi) con incrementi di 0,5. Ad esempio: 0, 0.5, 1.0, ... , 5.0 inclusi. I valori vengono arrotondati per eccesso a 0,5. Ad esempio, un valore di 0,6 elimina tutti i risultati con una valutazione inferiore a 1,0.
openNow
Se
true
, restituisci solo i luoghi aperti al pubblico al momento dell'invio della query. Sefalse
, restituisci tutte le attività indipendentemente dallo stato di apertura. I luoghi che non specificano gli orari di apertura nel database di Google Places vengono restituiti se imposti questo parametro sufalse
.pageSize
Specifica il numero di risultati (compreso tra 1 e 20) da visualizzare per pagina. Ad esempio, se imposti un valore
pageSize
pari a 5, verranno restituiti fino a 5 risultati nella prima pagina. Se la query può restituire altri risultati, la risposta include unnextPageToken
che puoi passare a una richiesta successiva per accedere alla pagina successiva.pageToken
Specifica
nextPageToken
dal corpo della risposta della pagina precedente.-
priceLevels
Limita la ricerca ai luoghi contrassegnati a determinati livelli di prezzo. Per impostazione predefinita, vengono selezionati tutti i livelli di prezzo.
I livelli di prezzo possono essere previsti per i luoghi dei seguenti tipi:
I luoghi di tipi non supportati non verranno inclusi nella risposta se è specificato
priceLevels
.Specifica un array di uno o più valori definiti da
PriceLevel
.Ad esempio:
"priceLevels":["PRICE_LEVEL_INEXPENSIVE", "PRICE_LEVEL_MODERATE"]
rankPreference
Specifica come vengono classificati i risultati nella risposta in base al tipo di query:
- Per una query categorica come "Ristoranti a New York",
RELEVANCE
(ordina i risultati in base alla pertinenza della ricerca) è l'impostazione predefinita. Puoi impostarerankPreference
suRELEVANCE
oDISTANCE
(i risultati vengono classificati in base alla distanza). - Per una query non categorica come "Mountain View, CA", ti consigliamo di lasciare
rankPreference
non impostato.
- Per una query categorica come "Ristoranti a New York",
regionCode
Il codice regione utilizzato per formattare la risposta, specificato come valore di un codice CLDR a due caratteri. Questo parametro può anche avere un effetto di distorsione sui risultati di ricerca. Non esiste un valore predefinito.
Se il nome del paese del campo
formattedAddress
nella risposta corrisponde aregionCode
, il codice paese viene omesso daformattedAddress
. Questo parametro non ha effetto suadrFormatAddress
, che include sempre il nome del paese quando disponibile, né sushortFormattedAddress
, che non lo include mai.La maggior parte dei codici CLDR sono identici ai codici ISO 3166-1, con alcune eccezioni degne di nota. Ad esempio, il TLD specifico per paese del Regno Unito è "uk" (.co.uk), mentre il suo codice ISO 3166-1 è"gb " (tecnicamente per l'entità "Regno Unito di Gran Bretagna e Irlanda del Nord"). Il parametro può influire sui risultati in base alla legge vigente.
strictTypeFiltering
Utilizzato con il parametro
includedType
. Se impostato sutrue
, vengono restituiti solo i luoghi che corrispondono ai tipi specificati daincludeType
. Se il valore è false (impostazione predefinita), la risposta può contenere luoghi che non corrispondono ai tipi specificati.
Esempi di ricerca testuale (nuova)
Trovare un luogo tramite la stringa di query
L'esempio seguente mostra una richiesta di ricerca di testo (nuova) per "Cucina vegetariana piccante a Sydney, Australia":
curl -X POST -d '{ "textQuery" : "Spicy Vegetarian Food in Sydney, Australia" }' \ -H 'Content-Type: application/json' -H 'X-Goog-Api-Key: API_KEY' \ -H 'X-Goog-FieldMask: places.displayName,places.formattedAddress' \ 'https://places.googleapis.com/v1/places:searchText'
Tieni presente che l'intestazione X-Goog-FieldMask
specifica che la
risposta
contiene i seguenti campi di dati: places.displayName,places.formattedAddress
.
La risposta è quindi nel formato:
{ "places": [ { "formattedAddress": "367 Pitt St, Sydney NSW 2000, Australia", "displayName": { "text": "Mother Chu's Vegetarian Kitchen", "languageCode": "en" } }, { "formattedAddress": "175 First Ave, Five Dock NSW 2046, Australia", "displayName": { "text": "Veggo Sizzle - Vegan & Vegetarian Restaurant, Five Dock, Sydney", "languageCode": "en" } }, { "formattedAddress": "29 King St, Sydney NSW 2000, Australia", "displayName": { "text": "Peace Harmony", "languageCode": "en" } }, ... ] }
Aggiungi altri tipi di dati alla maschera del campo per restituire ulteriori informazioni.
Ad esempio, aggiungi places.types,places.websiteUri
per includere il tipo di ristorante e l'indirizzo web nella risposta:
curl -X POST -d '{ "textQuery" : "Spicy Vegetarian Food in Sydney, Australia" }' \ -H 'Content-Type: application/json' -H 'X-Goog-Api-Key: API_KEY' \ -H 'X-Goog-FieldMask: places.displayName,places.formattedAddress,places.types,places.websiteUri' \ 'https://places.googleapis.com/v1/places:searchText'
La risposta ora è nel formato:
{ "places": [ { "types": [ "vegetarian_restaurant", "vegan_restaurant", "chinese_restaurant", "restaurant", "food", "point_of_interest", "establishment" ], "formattedAddress": "367 Pitt St, Sydney NSW 2000, Australia", "websiteUri": "http://www.motherchusvegetarian.com.au/", "displayName": { "text": "Mother Chu's Vegetarian Kitchen", "languageCode": "en" } }, { "types": [ "vegan_restaurant", "thai_restaurant", "vegetarian_restaurant", "indian_restaurant", "italian_restaurant", "american_restaurant", "restaurant", "food", "point_of_interest", "establishment" ], "formattedAddress": "175 First Ave, Five Dock NSW 2046, Australia", "websiteUri": "http://www.veggosizzle.com.au/", "displayName": { "text": "Veggo Sizzle - Vegan & Vegetarian Restaurant, Five Dock, Sydney", "languageCode": "en" } }, ... ] }
Filtrare i luoghi in base al livello di prezzo
Utilizza l'opzione priceLevel
per filtrare i risultati in modo da visualizzare solo i ristoranti
definiti economici o a prezzi moderati:
curl -X POST -d '{ "textQuery" : "Spicy Vegetarian Food in Sydney, Australia", "priceLevels":["PRICE_LEVEL_INEXPENSIVE", "PRICE_LEVEL_MODERATE"] }' \ -H 'Content-Type: application/json' -H 'X-Goog-Api-Key: API_KEY' \ -H 'X-Goog-FieldMask: places.displayName,places.formattedAddress,places.priceLevel' \ 'https://places.googleapis.com/v1/places:searchText'
Questo esempio utilizza anche l'intestazione X-Goog-FieldMask
per aggiungere il campo dati
places.priceLevel
alla
risposta
in modo che sia nel formato:
{ "places": [ { "formattedAddress": "367 Pitt St, Sydney NSW 2000, Australia", "priceLevel": "PRICE_LEVEL_MODERATE", "displayName": { "text": "Mother Chu's Vegetarian Kitchen", "languageCode": "en" } }, { "formattedAddress": "115 King St, Newtown NSW 2042, Australia", "priceLevel": "PRICE_LEVEL_MODERATE", "displayName": { "text": "Green Mushroom", "languageCode": "en" } }, ... ] }
Aggiungi altre opzioni per perfezionare la ricerca, ad esempio includedType
,
minRating
, rankPreference
, openNow
e altri parametri descritti in
Parametri facoltativi.
Limitare la ricerca a un'area specifica
Utilizza locationRestriction
o locationBias
,
ma non entrambi, per limitare una ricerca a un'area. Considera locationRestriction
come la regione in cui devono trovarsi i risultati e locationBias
come la regione in cui devono trovarsi i risultati, ma possono essere al di fuori
dell'area.
Limitare l'area utilizzando locationRestriction
Utilizza il parametro locationRestriction
per limitare i risultati della query a una
regione specifica. Nel corpo della richiesta, specifica i valori di latitudine e longitudine low
e high
che definiscono il confine della regione.
L'esempio seguente mostra una richiesta di ricerca di testo (nuova) per "cibo vegetariano" a New York City. Questa richiesta restituisce solo i primi 10 risultati per i luoghi aperti.
curl -X POST -d '{ "textQuery" : "vegetarian food", "pageSize" : "10", "locationRestriction": { "rectangle": { "low": { "latitude": 40.477398, "longitude": -74.259087 }, "high": { "latitude": 40.91618, "longitude": -73.70018 } } } }' \ -H 'Content-Type: application/json' \ -H 'X-Goog-Api-Key: API_KEY' \ -H 'X-Goog-FieldMask: places.id,places.formattedAddress' \ 'https://places.googleapis.com/v1/places:searchText'
Dare la priorità a un'area utilizzando locationBias
L'esempio seguente mostra una richiesta di ricerca di testo (nuova) per "cibo vegetariano" con un bias per una località entro 500 metri da un punto nel centro di San Francisco. Questa richiesta restituisce solo i primi 10 risultati per i luoghi aperti.
curl -X POST -d '{ "textQuery" : "vegetarian food", "openNow": true, "pageSize": 10, "locationBias": { "circle": { "center": {"latitude": 37.7937, "longitude": -122.3965}, "radius": 500.0 } }, }' \ -H 'Content-Type: application/json' -H 'X-Goog-Api-Key: API_KEY' \ -H 'X-Goog-FieldMask: places.displayName,places.formattedAddress' \ 'https://places.googleapis.com/v1/places:searchText'
Cercare stazioni di ricarica EV con una velocità di ricarica minima
Utilizza minimumChargingRateKw
e connectorTypes
per
cercare luoghi con caricabatterie disponibili compatibili con il tuo veicolo elettrico.
L'esempio seguente mostra una richiesta di connettori di ricarica per veicoli elettrici di tipo Tesla e J1772 tipo 1 con una velocità di ricarica minima di 10 kW a Mountain View, in California. Vengono restituiti solo quattro risultati.
curl -X POST -d '{ "textQuery": "EV Charging Station Mountain View", "pageSize": 4, "evOptions": { "minimumChargingRateKw": 10, "connectorTypes": ["EV_CONNECTOR_TYPE_J1772","EV_CONNECTOR_TYPE_TESLA"] } }' \ -H 'Content-Type: application/json' -H 'X-Goog-Api-Key: API_KEY' \ -H "X-Goog-FieldMask: places.displayName,places.evChargeOptions" \ 'https://places.googleapis.com/v1/places:searchText'
La richiesta restituisce la seguente risposta:
{ "places": [ { "displayName": { "text": "EVgo Charging Station", "languageCode": "en" }, "evChargeOptions": { "connectorCount": 16, "connectorAggregation": [ { "type": "EV_CONNECTOR_TYPE_CHADEMO", "maxChargeRateKw": 100, "count": 8, "availableCount": 5, "outOfServiceCount": 0, "availabilityLastUpdateTime": "2024-01-10T19:10:00Z" }, { "type": "EV_CONNECTOR_TYPE_CCS_COMBO_1", "maxChargeRateKw": 100, "count": 2, "availableCount": 2, "outOfServiceCount": 0, "availabilityLastUpdateTime": "2024-01-10T19:10:00Z" }, { "type": "EV_CONNECTOR_TYPE_CCS_COMBO_1", "maxChargeRateKw": 350, "count": 6, "availableCount": 3, "outOfServiceCount": 0, "availabilityLastUpdateTime": "2024-01-10T19:10:00Z" } ] } }, { "displayName": { "text": "EVgo Charging Station", "languageCode": "en" }, "evChargeOptions": { "connectorCount": 6, "connectorAggregation": [ { "type": "EV_CONNECTOR_TYPE_CCS_COMBO_1", "maxChargeRateKw": 100, "count": 4, "availableCount": 3, "outOfServiceCount": 0, "availabilityLastUpdateTime": "2024-01-10T19:10:00Z" }, { "type": "EV_CONNECTOR_TYPE_CCS_COMBO_1", "maxChargeRateKw": 350, "count": 2, "availableCount": 0, "outOfServiceCount": 2, "availabilityLastUpdateTime": "2024-01-10T19:10:00Z" } ] } }, { "displayName": { "text": "EVgo Charging Station", "languageCode": "en" }, "evChargeOptions": { "connectorCount": 5, "connectorAggregation": [ { "type": "EV_CONNECTOR_TYPE_J1772", "maxChargeRateKw": 3.5999999046325684, "count": 1, "availableCount": 0, "outOfServiceCount": 1, "availabilityLastUpdateTime": "2024-01-10T19:10:00Z" }, { "type": "EV_CONNECTOR_TYPE_CHADEMO", "maxChargeRateKw": 50, "count": 2, "availableCount": 0, "outOfServiceCount": 0, "availabilityLastUpdateTime": "2024-01-10T19:10:00Z" }, { "type": "EV_CONNECTOR_TYPE_CCS_COMBO_1", "maxChargeRateKw": 50, "count": 2, "availableCount": 0, "outOfServiceCount": 0, "availabilityLastUpdateTime": "2024-01-10T19:10:00Z" } ] } }, { "displayName": { "text": "Electric Vehicle Charging Station", "languageCode": "en" }, "evChargeOptions": { "connectorCount": 10, "connectorAggregation": [ { "type": "EV_CONNECTOR_TYPE_OTHER", "maxChargeRateKw": 210, "count": 10 } ] } } ] }
Cercare attività al domicilio del cliente
Utilizza il parametro includePureServiceAreaBusinesses
per cercare
attività senza un indirizzo del servizio fisico (ad esempio, un servizio di pulizia mobile
o un food truck).
Il seguente esempio mostra una richiesta di idraulici a San Francisco:
curl -X POST -d '{ "textQuery" : "plumber San Francisco", "includePureServiceAreaBusinesses": true }' \ -H 'Content-Type: application/json' -H 'X-Goog-Api-Key: API_KEY' \ -H 'X-Goog-FieldMask: places.displayName,places.formattedAddress' \ 'https://places.googleapis.com/v1/places:searchText'
Nella risposta, le attività senza un indirizzo di servizio fisico non includono
il campo formattedAddress
:
{ "places": [ { "formattedAddress": "3450 Sacramento St #204, San Francisco, CA 94118, USA", "displayName": { "text": "Advanced Plumbing & Drain", "languageCode": "en" } }, { "formattedAddress": "1455 Bancroft Ave, San Francisco, CA 94124, USA", "displayName": { "text": "Magic Plumbing Heating & Cooling", "languageCode": "en" } }, /.../ { "displayName": { "text": "Starboy Plumbing Inc.", "languageCode": "en" } }, { "formattedAddress": "78 Dorman Ave, San Francisco, CA 94124, USA", "displayName": { "text": "Cabrillo Plumbing, Heating & Air", "languageCode": "en" } }, { "formattedAddress": "540 Barneveld Ave # D, San Francisco, CA 94124, USA", "displayName": { "text": "Mr. Rooter Plumbing of San Francisco", "languageCode": "en" } }, /.../ { "displayName": { "text": "Pipeline Plumbing", "languageCode": "en" } }, { "formattedAddress": "350 Bay St #100-178, San Francisco, CA 94133, USA", "displayName": { "text": "One Source Plumbing and Rooter", "languageCode": "en" } }, /.../ ] }
Specifica un numero di risultati da restituire per pagina
Utilizza il parametro pageSize
per specificare il numero di risultati da restituire per pagina. Il parametro nextPageToken
nel corpo della risposta
fornisce un token che può essere utilizzato nelle chiamate successive per accedere alla pagina successiva dei
risultati.
Il seguente esempio mostra una richiesta di "pizza a New York" limitata a 5 risultati per pagina:
curl -X POST -d '{ "textQuery": "pizza in New York", "pageSize": 5 }' \ -H 'Content-Type: application/json' -H 'X-Goog-Api-Key: API_KEY' \ -H "X-Goog-FieldMask: places.id,nextPageToken" \ 'https://places.googleapis.com/v1/places:searchText'
{ "places": [ { "id": "ChIJifIePKtZwokRVZ-UdRGkZzs" }, { "id": "ChIJPxPd_P1YwokRfzLhSiACEoU" }, { "id": "ChIJrXXKn5NZwokR78g0ipCnY60" }, { "id": "ChIJ6ySICVZYwokR9rIK8HjXhzE" }, { "id": "ChIJ6xvs94VZwokRnT1D2lX2OTw" } ], "nextPageToken": "AeCrKXsZWzNVbPzO-MRWPu52jWO_Xx8aKwOQ69_Je3DxRpfdjClq8Ekwh3UcF2h2Jn75kL6PtWLGV4ecQri-GEUKN_OFpJkdVc-JL4Q" }
Per accedere alla pagina successiva dei risultati, utilizza pageToken
per inserire
nextPageToken
nel corpo della richiesta:
curl -X POST -d '{ "textQuery": "pizza in New York", "pageSize": 5, "pageToken": "AeCrKXsZWzNVbPzO-MRWPu52jWO_Xx8aKwOQ69_Je3DxRpfdjClq8Ekwh3UcF2h2Jn75kL6PtWLGV4ecQri-GEUKN_OFpJkdVc-JL4Q" }' \ -H 'Content-Type: application/json' -H 'X-Goog-Api-Key: API_KEY' \ -H "X-Goog-FieldMask: places.id,nextPageToken" \ 'https://places.googleapis.com/v1/places:searchText'
{ "places": [ { "id": "ChIJL-LN1N1ZwokR8K2jACu6Ydw" }, { "id": "ChIJjaD94kFZwokR-20CXqlpy_4" }, { "id": "ChIJ6ffdpJNZwokRmcafdROM5q0" }, { "id": "ChIJ8Q2WSpJZwokRQz-bYYgEskM" }, { "id": "ChIJ8164qwFZwokRhplkmhvq1uE" } ], "nextPageToken": "AeCrKXvPd6uUy-oj96W2OaqEe2pUD8QTxOM8-sKfUcFsC9t2Wey5qivrKGoGSxcZnyc7RPmaFfAktslrKbUh31ZDTkL0upRmaxA7c_c" }
Recupera i descrittori dell'indirizzo
I descrittori di indirizzo forniscono informazioni relazionali sulla posizione di un luogo, inclusi punti di riferimento nelle vicinanze e aree contenute.
L'esempio seguente mostra una richiesta di ricerca di testo (nuova) per luoghi
vicino a un centro commerciale a San Jose. In questo esempio, includi addressDescriptors
nella maschera del campo:
curl -X POST -d '{ "textQuery": "clothes", "maxResultCount": 5, "locationBias": { "circle": { "center": { "latitude": 37.321328, "longitude": -121.946275 } } }, "rankPreference":"RANK_PREFERENCE_UNSPECIFIED" }' \ -H 'Content-Type: application/json' \ -H "X-Goog-Api-Key: API_KEY" \ -H "X-Goog-FieldMask: places.displayName,places.addressDescriptor" \ https://places.googleapis.com/v1/places:searchText
La risposta include il luogo specificato nella richiesta, un elenco di punti di riferimento nelle vicinanze e la loro distanza dal luogo, nonché un elenco di aree e la loro relazione di contenimento con il luogo:
{ "places": [ { "displayName": { "text": "Urban Outfitters", "languageCode": "en" }, "addressDescriptor": { "landmarks": [ { "name": "places/ChIJVVVVUB7Lj4ARXyb4HFVDV8s", "placeId": "ChIJVVVVUB7Lj4ARXyb4HFVDV8s", "displayName": { "text": "Westfield Valley Fair", "languageCode": "en" }, "types": [ "clothing_store", "department_store", "establishment", "food", "movie_theater", "point_of_interest", "restaurant", "shoe_store", "shopping_mall", "store" ], "spatialRelationship": "WITHIN", "straightLineDistanceMeters": 133.72855 }, { "name": "places/ChIJ62_oCR7Lj4AR_MGWkSPotD4", "placeId": "ChIJ62_oCR7Lj4AR_MGWkSPotD4", "displayName": { "text": "Nordstrom", "languageCode": "en" }, "types": [ "clothing_store", "department_store", "establishment", "point_of_interest", "shoe_store", "store" ], "straightLineDistanceMeters": 250.99161 }, { "name": "places/ChIJ8WvuSB7Lj4ARFyHppkxDRQ4", "placeId": "ChIJ8WvuSB7Lj4ARFyHppkxDRQ4", "displayName": { "text": "Macy's", "languageCode": "en" }, "types": [ "clothing_store", "department_store", "establishment", "point_of_interest", "store" ], "straightLineDistanceMeters": 116.24196 }, { "name": "places/ChIJ9d3plB_Lj4ARzyaU5bn80WY", "placeId": "ChIJ9d3plB_Lj4ARzyaU5bn80WY", "displayName": { "text": "Bank of America Financial Center", "languageCode": "en" }, "types": [ "bank", "establishment", "finance", "point_of_interest" ], "straightLineDistanceMeters": 121.61515 }, { "name": "places/ChIJaXCjxvXLj4ARCPmQpvJ52Lw", "placeId": "ChIJaXCjxvXLj4ARCPmQpvJ52Lw", "displayName": { "text": "Bloomingdale's", "languageCode": "en" }, "types": [ "clothing_store", "department_store", "establishment", "furniture_store", "home_goods_store", "point_of_interest", "shoe_store", "store" ], "straightLineDistanceMeters": 81.32396 } ], "areas": [ { "name": "places/ChIJb3F-EB7Lj4ARnHApQ_Hu1gI", "placeId": "ChIJb3F-EB7Lj4ARnHApQ_Hu1gI", "displayName": { "text": "Westfield Valley Fair", "languageCode": "en" }, "containment": "WITHIN" }, { "name": "places/ChIJXYuykB_Lj4AR1Ot8nU5q26Q", "placeId": "ChIJXYuykB_Lj4AR1Ot8nU5q26Q", "displayName": { "text": "Valley Fair", "languageCode": "en" }, "containment": "WITHIN" }, { "name": "places/ChIJtYoUX2DLj4ARKoKOb1G0CpM", "placeId": "ChIJtYoUX2DLj4ARKoKOb1G0CpM", "displayName": { "text": "Central San Jose", "languageCode": "en" }, "containment": "WITHIN" } ] } }, /.../ ] }
Prova
L'Explorer API ti consente di effettuare richieste di esempio per familiarizzare con l'API e le relative opzioni.
Seleziona l'icona API api sul lato destro della pagina.
(Facoltativo) Modifica i parametri della richiesta.
Seleziona il pulsante Esegui. Nella finestra di dialogo, scegli l'account che vuoi utilizzare per effettuare la richiesta.
Nel riquadro Explorer API, seleziona l'icona a schermo intero fullscreen per espandere la finestra di Explorer API.