Parametri di richiesta

Questo documento descrive i parametri di richiesta per l'API Places Aggregate e include approfondimenti e best practice per l'utilizzo di questo servizio.

L'API Places Aggregate ti consente di eseguire diverse funzioni chiave:

  • Conteggio luoghi: determina il numero di luoghi che corrispondono a criteri specifici, come tipo di località, stato operativo, livello di prezzo e valutazioni.
  • Recupera dettagli luogo: 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:
    • Area geografica (cerchio, regione o poligono personalizzato)
    • Tipi di luoghi
    • Stato di attività
    • Livelli di prezzo
    • 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 approfondimento

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 luogo corrispondenti ai criteri di filtro.

Filtri

Specifica i criteri per filtrare i luoghi. Come minimo, devi specificare LocationFilter e TypeFilter.

Filtro località

Un filtro per 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 regione.
  • customArea: Definisce un'area come poligono personalizzato.
Cerchio

Se selezioni la tua area geografica come cerchio, devi fornire un center e un radius. 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: l'ID luogo del centro del cerchio. Tieni presente che sono supportati solo i luoghi puntuali. Questa stringa deve iniziare con il prefisso places/.
  • radius: raggio del cerchio in metri. Questo numero deve essere positivo.
Regione

Definisci la tua area come 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 sovrastima dell'area (fino al 2-3%) che rappresenta la regione.

Per determinare se un ID luogo rappresenta un tipo di luogo non supportato, trasmetti l'ID luogo in una richiesta dell'API Geocoding. La risposta include l'array type che elenca i tipi di luogo associati all'ID luogo, ad esempio locality, neighborhood o country. Un luogo verrà rifiutato per il filtro per regione 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 tra due strade principali.
  • subpremise: indica un'entità indirizzabile al di sotto del livello di edificio, 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 la pagina 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 sono identiche. Almeno tre delle coordinate fornite devono essere univoche.

Le coordinate identiche consecutive verranno trattate come un'unica coordinata. Tuttavia, le coordinate duplicate non consecutive (diverse dalle coordinate iniziali e finali identiche richieste) 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 del 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 (nuova). 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 principali inclusi.
  • excludedPrimaryTypes: Elenco dei tipi di luoghi principali esclusi.

Per scoprire di più su come funzionano i filtri per tipo e i tipi di luogo, consulta ulteriori informazioni sui filtri per tipo.

Parametri facoltativi

Questi filtri sono facoltativi:

  • operatingStatus: specifica gli stati dei luoghi da includere o escludere. Per impostazione predefinita, il filtro viene applicato in base a operatingStatus: OPERATING_STATUS_OPERATIONAL (un valore specifico).
  • priceLevels: specifica i livelli di prezzo dei luoghi da includere. Per impostazione predefinita, non viene applicato alcun filtro del livello di prezzo e vengono restituiti tutti i luoghi (inclusi quelli senza informazioni sul livello di prezzo).
  • ratingFilter: specifica l'intervallo di valutazione dei luoghi. Il valore predefinito è nessun filtro (tutte le valutazioni sono incluse nei risultati).

Stato di attività

Con il filtro operatingStatus, puoi filtrare in base allo stato operativo, 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 stato operativo OPERATING_STATUS_OPERATIONAL.
  • Se vengono forniti uno o più filtri, devi specificare valori di stato operativo validi (OPERATING_STATUS_OPERATIONAL, OPERATING_STATUS_PERMANENTLY_CLOSED o OPERATING_STATUS_TEMPORARILY_CLOSED).

Livello dei prezzi

Con il filtro priceLevels, puoi filtrare i luoghi in base al loro livello di prezzo. I valori validi del livello di prezzo 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 sia stato assegnato un livello di prezzo. Sono inclusi i luoghi senza informazioni sul livello di prezzo, che potrebbero non essere restituiti quando si filtra in base a livelli di prezzo specifici.
  • Se vengono forniti uno o più filtri: vengono restituiti solo i luoghi che corrispondono ai livelli di prezzo specificati.

Filtro valutazione

Filtra i luoghi in base alle valutazioni medie degli utenti. Entrambi questi campi sono facoltativi, quindi se vengono omessi, per impostazione predefinita includeranno 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 è specificato come maggiore di maxRating, viene restituito un errore INVALID_ARGUMENT.