Method: computeInsights

RPC di Compute Insights

Questo metodo ti consente di recuperare informazioni sulle aree utilizzando una serie di filtri, ad esempio area, tipo di luogo, stato di funzionamento, livello di prezzo e valutazioni. Al momento sono supportati gli approfondimenti "conteggio" e "luoghi". Con gli approfondimenti "conteggio" puoi rispondere a domande come "Quanti ristoranti sono operativi in California, sono economici e hanno una valutazione media di almeno 4 stelle" (per maggiori dettagli, consulta l'enum insight). Con gli approfondimenti "Luoghi", puoi determinare quali luoghi corrispondono al filtro richiesto. I client possono quindi utilizzare questi nomi di risorse dei luoghi per recuperare ulteriori dettagli su ogni singolo luogo utilizzando l'API Places.

Richiesta HTTP

POST https://areainsights.googleapis.com/v1:computeInsights

L'URL utilizza la sintassi di transcodifica gRPC.

Corpo della richiesta

Il corpo della richiesta contiene dati con la seguente struttura:

Rappresentazione JSON
{
  "insights": [
    enum (Insight)
  ],
  "filter": {
    object (Filter)
  }
}
Campi
insights[]

enum (Insight)

Obbligatorio. Approfondimenti da calcolare. Al momento sono supportati solo INSIGHT_COUNT e INSIGHT_PLACES.

filter

object (Filter)

Obbligatorio. Filtro di approfondimenti.

Corpo della risposta

Risposta per l'RPC v1.computeInsights.

In caso di esito positivo, il corpo della risposta contiene dati con la seguente struttura:

Rappresentazione JSON
{
  "placeInsights": [
    {
      object (PlaceInsight)
    }
  ],
  "count": string
}
Campi
placeInsights[]

object (PlaceInsight)

Risultato per Insights.INSIGHT_PLACES.

count

string (int64 format)

Risultato per Insights.INSIGHT_COUNT.

Ambiti di autorizzazione

Richiede il seguente ambito OAuth:

  • https://www.googleapis.com/auth/cloud-platform

Insight

Approfondimenti supportati.

Enum
INSIGHT_UNSPECIFIED Non specificato.
INSIGHT_COUNT

Approfondimento sul conteggio.

Quando viene specificato questo insight, v1.computeInsights restituisce il numero di luoghi che corrispondono ai criteri di filtro specificati.

For example if the request is:
ComputeInsightsRequest {
  insights: INSIGHT_COUNT
  filter {
    locationFilter {region: <PlaceId of state of CA>}
    typeFilter {includedTypes: "restaurant"}
    operatingStatus: OPERATING_STATUS_OPERATIONAL
    priceLevels: PRICE_LEVEL_FREE
    priceLevels: PRICE_LEVEL_INEXPENSIVE
    minRating: 4.0
  }
}

The method will return the count of restaurants in California that are
operational, with price level free or inexpensive and have an average
rating of at least 4 starts.

Example response:
ComputeInsightsResponse {
  count: <number of places>
}
INSIGHT_PLACES

Luoghi di reso

Quando viene specificato questo insight, v1.computeInsights restituisce i luoghi che corrispondono ai criteri di filtro specificati.

For example if the request is:
ComputeInsightsRequest {
  insights: INSIGHT_PLACES
  filter {
    locationFilter {region: <PlaceId of state of CA>}
    typeFilter {includedTypes: "restaurant"}
    operatingStatus: OPERATING_STATUS_OPERATIONAL
    priceLevels: PRICE_LEVEL_FREE
    priceLevels: PRICE_LEVEL_INEXPENSIVE
    minRating: 4.0
  }
}

The method will return list of places of restaurants in
California that are operational, with price level free or inexpensive and
have an average rating of at least 4 stars.

Example response:
ComputeInsightsResponse {
  placeInsights { place: "places/ABC" }
  placeInsights { place: "places/PQR" }
  placeInsights { place: "places/XYZ" }
}

Filtro

Filtri per l'RPC v1.computeInsights.

Rappresentazione JSON
{
  "locationFilter": {
    object (LocationFilter)
  },
  "typeFilter": {
    object (TypeFilter)
  },
  "operatingStatus": [
    enum (OperatingStatus)
  ],
  "priceLevels": [
    enum (PriceLevel)
  ],
  "ratingFilter": {
    object (RatingFilter)
  }
}
Campi
locationFilter

object (LocationFilter)

Obbligatorio. Consente di limitare i risultati ai luoghi che si trovano nell'area specificata dai filtri posizione.

typeFilter

object (TypeFilter)

Obbligatorio. Filtri per tipo di luogo.

operatingStatus[]

enum (OperatingStatus)

Facoltativo. Limita i risultati ai luoghi il cui stato di funzionamento è incluso in questo elenco. Se operatingStatus non è impostato, per impostazione predefinita viene utilizzato OPERATING_STATUS_OPERATIONAL.

priceLevels[]

enum (PriceLevel)

Facoltativo. Limita i risultati ai luoghi il cui livello di prezzo è incluso in questo elenco. Se il parametro price_level non è impostato, tutti i livelli di prezzo sono inclusi nei risultati.

ratingFilter

object (RatingFilter)

Facoltativo. Limita i risultati ai luoghi le cui valutazioni medie degli utenti rientrano nell'intervallo specificato da ratingFilter. Se ratingFilter non è impostato, tutte le valutazioni sono incluse nel risultato.

LocationFilter

Filtri di località.

Specifica l'area di interesse per l'approfondimento.

Rappresentazione JSON
{

  // Union field area can be only one of the following:
  "circle": {
    object (Circle)
  },
  "region": {
    object (Region)
  },
  "customArea": {
    object (CustomArea)
  }
  // End of list of possible types for union field area.
}
Campi
Campo unione area. Deve essere specificato uno dei seguenti valori. area può essere solo uno dei seguenti:
circle

object (Circle)

Area come cerchio.

region

object (Region)

Area come regione.

customArea

object (CustomArea)

Area personalizzata specificata da un poligono.

Cerchio

Un cerchio è definito da un punto centrale e da un raggio in metri.

Rappresentazione JSON
{
  "radius": integer,

  // Union field center can be only one of the following:
  "latLng": {
    object (LatLng)
  },
  "place": string
  // End of list of possible types for union field center.
}
Campi
radius

integer

Facoltativo. Il raggio del cerchio in metri

Campo unione center. Il centro del cerchio. center può essere solo uno dei seguenti:
latLng

object (LatLng)

La latitudine e la longitudine del centro del cerchio.

place

string

Il nome della risorsa Luogo del centro del cerchio. Sono supportati solo i luoghi con punti.

LatLng

Un oggetto che rappresenta una coppia di latitudine/longitudine. Questo valore è espresso come una coppia di numeri doppi per rappresentare i gradi di latitudine e di longitudine. Se non diversamente specificato, questo oggetto deve essere conforme allo standard WGS84. I valori devono rientrare in intervalli normalizzati.

Rappresentazione JSON
{
  "latitude": number,
  "longitude": number
}
Campi
latitude

number

La latitudine in gradi. Deve essere compreso nell'intervallo [-90,0, +90,0].

longitude

number

La longitudine in gradi. Deve essere compreso nell'intervallo [-180,0, +180,0].

Regione

Una regione è un confine geografico, ad esempio città, codici postali, contee, stati e così via.

Rappresentazione JSON
{

  // Union field region can be only one of the following:
  "place": string
  // End of list of possible types for union field region.
}
Campi
Campo unione region. Definisce una regione geografica. È possibile specificare un solo tipo di regione (ad es. luogo) alla volta. region può essere solo uno dei seguenti:
place

string

L'identificatore univoco di una specifica regione geografica.

CustomArea

Area personalizzata.

Rappresentazione JSON
{
  "polygon": {
    object (Polygon)
  }
}
Campi
polygon

object (Polygon)

Obbligatorio. L'area personalizzata rappresentata come un poligono

Poligono

Un poligono è rappresentato da una serie di coordinate collegate in una sequenza ordinata in senso antiorario. Le coordinate formano un anello chiuso e definiscono una regione riempita. Le coordinate prima e ultima sono equivalenti e devono contenere valori identici. Il formato è una versione semplificata dei poligoni GeoJSON (supportiamo solo un anello esterno antiorario).

Rappresentazione JSON
{
  "coordinates": [
    {
      object (LatLng)
    }
  ]
}
Campi
coordinates[]

object (LatLng)

Facoltativo. Le coordinate che definiscono il poligono.

TypeFilter

Filtri per tipo di luogo.

Sono supportati solo i tipi di luogo della Tabella A.

A un luogo può essere associato un solo tipo principale. Ad esempio, il tipo principale potrebbe essere "ristorante_messicano" o "steakhouse". Utilizza includedPrimaryTypes ed excludedPrimaryTypes per filtrare i risultati in base al tipo principale di un luogo.

A un luogo possono essere associati anche più valori di tipo. Ad esempio, un ristorante potrebbe avere i seguenti tipi: "seafood_restaurant", "restaurant", "food", "point_of_interest", "establishment". Utilizza includedTypes ed excludedTypes per filtrare i risultati nell'elenco dei tipi associati a un luogo.

Se una ricerca è specificata con più restrizioni di tipo, vengono restituiti solo i luoghi che soddisfano tutte le restrizioni. Ad esempio, se specifichi {"includedTypes": ["restaurant"], "excludedPrimaryTypes": ["steak_house"]}, i luoghi restituiti forniscono servizi correlati a "ristorante", ma non operano principalmente come "steak_house".

Se sono presenti tipi in conflitto, ad esempio un tipo compare sia in includedTypes che in excludedTypes o in includedPrimaryTypes ed excludedPrimaryTypes, viene restituito un errore INVALID_ARGUMENT.

Deve essere impostato uno dei valori includedTypes o includedPrimaryTypes.

Rappresentazione JSON
{
  "includedTypes": [
    string
  ],
  "excludedTypes": [
    string
  ],
  "includedPrimaryTypes": [
    string
  ],
  "excludedPrimaryTypes": [
    string
  ]
}
Campi
includedTypes[]

string

Facoltativo. Tipi di luoghi inclusi.

excludedTypes[]

string

Facoltativo. Tipi di luoghi esclusi.

includedPrimaryTypes[]

string

Facoltativo. Tipi di luoghi principali inclusi.

excludedPrimaryTypes[]

string

Facoltativo. Tipi di luoghi principali esclusi.

OperatingStatus

Stato di attività del luogo.

Enum
OPERATING_STATUS_UNSPECIFIED Non specificato.
OPERATING_STATUS_OPERATIONAL Il luogo è operativo e aperto durante gli orari definiti.
OPERATING_STATUS_PERMANENTLY_CLOSED Il luogo non è più in attività.
OPERATING_STATUS_TEMPORARILY_CLOSED Il luogo è temporaneamente chiuso e dovrebbe riaprire in futuro.

PriceLevel

Il livello di prezzo del luogo.

Enum
PRICE_LEVEL_UNSPECIFIED Il livello del prezzo del luogo non è specificato o è sconosciuto.
PRICE_LEVEL_FREE Il luogo offre servizi senza costi.
PRICE_LEVEL_INEXPENSIVE Il luogo offre servizi economici.
PRICE_LEVEL_MODERATE Il luogo offre servizi a prezzi moderati.
PRICE_LEVEL_EXPENSIVE Il luogo offre servizi costosi.
PRICE_LEVEL_VERY_EXPENSIVE Il luogo offre servizi molto costosi.

RatingFilter

Filtri per la valutazione media degli utenti.

Rappresentazione JSON
{
  "minRating": number,
  "maxRating": number
}
Campi
minRating

number

Facoltativo. Limita i risultati ai luoghi la cui valutazione media degli utenti è maggiore o uguale a minRating. I valori devono essere compresi tra 1,0 e 5,0.

maxRating

number

Facoltativo. Limita i risultati ai luoghi la cui valutazione media degli utenti è strettamente inferiore o uguale a maxRating. I valori devono essere compresi tra 1,0 e 5,0.

PlaceInsight

Contiene informazioni su un luogo

Rappresentazione JSON
{
  "place": string
}
Campi
place

string

L'identificatore univoco del luogo. Questo nome della risorsa può essere utilizzato per recuperare i dettagli del luogo utilizzando l'API Places.