Questo documento descrive i parametri delle richieste per l'API Places Aggregate e include approfondimenti e best practice per l'utilizzo di questo servizio.
L'API Places Aggregate consente di eseguire diverse funzioni chiave:
- Conteggiare i luoghi: determina il numero di luoghi che corrispondono a criteri specifici , come tipo di località, stato di attività, livello dei prezzi e valutazioni.
- Recuperare i dettagli dei luoghi: ottieni i nomi dei luoghi che soddisfano i filtri specificati, quindi recupera informazioni più dettagliate utilizzando l' API Places.
- Filtri flessibili: applica filtri completi per ottenere aggregazioni precise
I filtri disponibili includono i seguenti:
- Area geografica (cerchio, regione o poligono personalizzato)
- Tipi di luoghi
- Stato di attività
- Livelli dei prezzi
- Intervalli di valutazione
Parametri obbligatori
Questa sezione illustra i parametri obbligatori quando si invia una richiesta all'API Places Aggregate. Ogni richiesta deve fornire quanto segue:
- Un tipo di approfondimento.
- Un filtro di località e un filtro di tipo.
Tipo di insight
Specifica il tipo di approfondimento che vuoi calcolare. Sono supportati i seguenti tipi di approfondimento:
INSIGHT_COUNT: restituisce il numero di luoghi che corrispondono ai criteri di filtro.INSIGHT_PLACES: restituisce gli ID dei luoghi che corrispondono ai criteri di filtro.
Filtri
Specifica i criteri per filtrare i luoghi. Come minimo, devi specificare LocationFilter e TypeFilter.
Filtro di località
Un filtro di località può avere uno dei seguenti tipi:
circle: definisce un'area come un cerchio con un centro e un raggio.region: definisce un'area come una regione.customArea: definisce un'area come un poligono personalizzato.
Cerchio
Se selezioni l'area geografica come cerchio, devi fornire un center e un radius. Il center può essere una latitudine e una longitudine oppure l'ID luogo del centro del cerchio. Questo metodo consente un filtraggio preciso e accurato in base alla regione circolare definita.
center:latLng: latitudine e longitudine del centro del cerchio. Le latitudini devono essere un numero compreso tra -90 e 90, inclusi. La longitudine deve essere un numero compreso tra -180 e 180, inclusi.place: ID luogo del centro del cerchio. Tieni presente che sono supportati solo i luoghi puntuali. Questa stringa deve iniziare con il prefissoplaces/.
radius: raggio del cerchio in metri. Questo numero deve essere positivo.
Regione
Definisci l'area come una regione passando un ID luogo al parametro place. L'ID luogo rappresenta un'area geografica (ad esempio un'area rappresentabile da un poligono). Ad esempio, l'ID luogo di Tampa, Florida, è places/ChIJ4dG5s4K3wogRY7SWr4kTX6c. Tieni presente che non tutti gli ID luogo hanno una geometria ben definita e in questi casi l'API Places Aggregate restituisce un codice di errore 400 con un messaggio che indica che la regione non è supportata. Inoltre, per le regioni geografiche complesse, le ottimizzazioni dell'elaborazione interna potrebbero portare a una leggera sovra-approssimazione dell'area (fino al 2-3%) che rappresenta la regione.
Per determinare se un ID luogo rappresenta un tipo di luogo non supportato, passa l'ID
luogo in una richiesta dell'API Geocoding. La risposta include l'array type che elenca i tipi di luoghi associati all'ID luogo, ad esempio locality, neighborhood o country. Un luogo verrà rifiutato per il filtraggio delle regioni se uno qualsiasi dei suoi tipi corrisponde a questo elenco.
I tipi di luoghi non supportati includono:
establishment: in genere indica un luogo che non è ancora stato classificato.intersection: indica un incrocio principale, di solito di due strade principali.subpremise: indica un'entità indirizzabile al di sotto del livello della sede, ad esempio un appartamento, un'unità o una suite.
Area personalizzata
Definisce l'area di un poligono personalizzato utilizzando le coordinate di latitudine e longitudine.
Puoi visitare https://geojson.io/ per disegnare un poligono personalizzato e inserire le coordinate nella richiesta. Un poligono deve avere almeno 4 coordinate, dove la prima e l'ultima coordinate sono identiche. Almeno 3 delle coordinate fornite devono essere univoche.
Le coordinate identiche consecutive verranno trattate come una singola coordinata. Tuttavia, le coordinate duplicate non consecutive (diverse dalle coordinate identiche richieste prima e dopo) genereranno un errore.
Inoltre, non è consentito che i bordi non adiacenti si intersechino e non sono consentiti bordi di lunghezza pari a 180 gradi (ovvero i vertici adiacenti non possono essere antipodali).
Ad esempio:
"coordinates":[ { "latitude":37.776, "longitude":-122.666 }, { "latitude":37.130, "longitude":-121.898 }, { "latitude":37.326, "longitude":-121.598 }, { "latitude":37.912, "longitude":-122.247 }, { "latitude":37.776, "longitude":-122.666 } ]
Filtro di tipo
Specifica i tipi di luoghi da includere o escludere. Per un elenco dei tipi di luoghi primari
e secondari supportati dall'API Places Aggregate, consulta la Tabella
A in Tipi di luoghi per l'API Places
(New). Devi specificare almeno un tipo includedTypes o includedPrimaryTypes.
includedTypes: elenco dei tipi di luoghi inclusi.excludedTypes: elenco dei tipi di luoghi esclusi.includedPrimaryTypes: elenco dei tipi di luoghi primari inclusi.excludedPrimaryTypes: elenco dei tipi di luoghi primari esclusi.
Per saperne di più su come funzionano i filtri di tipo e i tipi di luoghi, consulta la sezione su altri filtri di tipo.
gym, i risultati includono anche i luoghi classificati nei relativi sottotipi, ad esempio yoga_studio.
Parametri facoltativi
Questi filtri sono facoltativi:
operatingStatus: specifica gli stati dei luoghi da includere o escludere. Per impostazione predefinita, il filtro viene applicato aoperatingStatus: OPERATING_STATUS_OPERATIONAL(un valore specifico).priceLevels: specifica i livelli dei prezzi dei luoghi da includere. Per impostazione predefinita, non viene applicato alcun filtro del livello dei prezzi e vengono restituiti tutti i luoghi (inclusi quelli senza informazioni sul livello dei prezzi).ratingFilter: specifica l'intervallo di valutazione dei luoghi. Per impostazione predefinita, non viene applicato alcun filtro (tutte le valutazioni sono incluse nei risultati).
Stato di attività
Con il filtro operatingStatus, puoi filtrare in base allo stato di attività
ad esempio OPERATIONAL o TEMPORARILY_CLOSED. Il comportamento del filtro operatingStatus è il seguente:
- Se non sono stati forniti filtri, nei risultati vengono inclusi solo i luoghi con uno stato di attività
OPERATING_STATUS_OPERATIONAL. - Se vengono forniti uno o più filtri, devi specificare valori di stato di attività validi (
OPERATING_STATUS_OPERATIONAL,OPERATING_STATUS_PERMANENTLY_CLOSEDoOPERATING_STATUS_TEMPORARILY_CLOSED).
Livello dei prezzi
Con il filtro priceLevels, puoi filtrare i luoghi in base al loro Livello
dei prezzi. I valori validi per il livello dei prezzi sono: PRICE_LEVEL_FREE, PRICE_LEVEL_INEXPENSIVE, PRICE_LEVEL_MODERATE, PRICE_LEVEL_EXPENSIVE e PRICE_LEVEL_VERY_EXPENSIVE.
Il comportamento del filtro priceLevels è il seguente:
- Se non vengono forniti filtri: vengono restituiti tutti i luoghi, indipendentemente dal fatto che abbiano un livello dei prezzi assegnato. Sono inclusi i luoghi senza informazioni sul livello dei prezzi, che potrebbero non essere restituiti quando si filtra in base a livelli dei prezzi specifici.
- Se vengono forniti uno o più filtri: vengono restituiti solo i luoghi che corrispondono ai livelli dei prezzi specificati.
Filtro valutazione
Filtra i luoghi in base alle valutazioni medie degli utenti. Entrambi i campi sono facoltativi, quindi se vengono omessi, per impostazione predefinita verranno inclusi anche i luoghi che non hanno una valutazione.
minRating: valutazione media minima degli utenti (tra 1,0 e 5,0).maxRating: valutazione media massima degli utenti (tra 1,0 e 5,0).
Inoltre, il valore minRating deve essere sempre minore o uguale al valore maxRating. Se minRating è maggiore di maxRating, viene restituito un errore INVALID_ARGUMENT.