Method: computeInsights

Compute Insights RPC

Mit dieser Methode können Sie Statistiken zu Gebieten mithilfe verschiedener Filter abrufen, z. B. nach Gebiet, Ortstyp, Betriebsstatus, Preisniveau und Bewertungen. Derzeit werden die Statistiken „Anzahl“ und „Orte“ unterstützt. Mithilfe von Statistiken vom Typ „Anzahl“ können Sie Fragen wie „Wie viele Restaurants gibt es in Kalifornien, die geöffnet sind, preiswert sind und eine durchschnittliche Bewertung von mindestens 4 Sternen haben?“ beantworten. Weitere Informationen finden Sie unter insight enum. Mithilfe der Daten zu „Orten“ können Sie ermitteln, welche Orte dem angeforderten Filter entsprechen. Mit diesen Ortsressourcennamen können Kunden dann über die Places API weitere Details zu den einzelnen Orten abrufen.

HTTP-Anfrage

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

Die URL verwendet die Syntax der gRPC-Transcodierung.

Anfragetext

Der Anfragetext enthält Daten mit folgender Struktur:

JSON-Darstellung
{
  "insights": [
    enum (Insight)
  ],
  "filter": {
    object (Filter)
  }
}
Felder
insights[]

enum (Insight)

Erforderlich. Zu berechnende Statistiken Derzeit werden nur INSIGHT_COUNT und INSIGHT_PLACES unterstützt.

filter

object (Filter)

Erforderlich. Statistikfilter

Antworttext

Antwort für das v1.computeInsights-RPC.

Bei Erfolg enthält der Antworttext Daten mit der folgenden Struktur:

JSON-Darstellung
{
  "placeInsights": [
    {
      object (PlaceInsight)
    }
  ],
  "count": string
}
Felder
placeInsights[]

object (PlaceInsight)

Ergebnis für „Insights.INSIGHT_PLACES“

count

string (int64 format)

Ergebnis für „Statistiken.INSIGHT_COUNT“

Autorisierungsbereiche

Erfordert den folgenden OAuth-Bereich:

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

Insight

Verfügbare Daten

Enums
INSIGHT_UNSPECIFIED Nicht angegeben.
INSIGHT_COUNT

Statistik „Zählen“

Wenn diese Statistik angegeben ist, gibt „v1.computeInsights“ die Anzahl der Orte zurück, die den angegebenen Filterkriterien entsprechen.

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

Rückgabeorte

Wenn diese Statistik angegeben ist, gibt „v1.computeInsights“ Orte zurück, die den angegebenen Filterkriterien entsprechen.

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" }
}

Filter

Filter für die RPC-Funktion „v1.computeInsights“.

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

object (LocationFilter)

Erforderlich. Die Ergebnisse werden auf Orte im durch die Standortfilter angegebenen Gebiet beschränkt.

typeFilter

object (TypeFilter)

Erforderlich. Ortstypfilter

operatingStatus[]

enum (OperatingStatus)

Optional. Die Ergebnisse werden auf Orte beschränkt, deren Betriebsstatus in dieser Liste enthalten ist. Wenn „operatingStatus“ nicht festgelegt ist, wird „OPERATING_STATUS_OPERATIONAL“ als Standard verwendet.

priceLevels[]

enum (PriceLevel)

Optional. Die Ergebnisse werden auf Orte beschränkt, deren Preisniveau in dieser Liste enthalten ist. Wenn „price_level“ nicht festgelegt ist, werden alle Preisstufen in die Ergebnisse einbezogen.

ratingFilter

object (RatingFilter)

Optional. Die Ergebnisse werden auf Orte beschränkt, deren durchschnittliche Nutzerbewertungen im durch ratingFilter angegebenen Bereich liegen. Wenn „ratingFilter“ nicht festgelegt ist, werden alle Bewertungen in das Ergebnis einbezogen.

LocationFilter

Standortfilter

Gibt den Bereich an, der für die Statistik von Interesse ist.

JSON-Darstellung
{

  // 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.
}
Felder
Union-Feld area. Eine der folgenden Optionen muss angegeben werden. Für area ist nur einer der folgenden Werte zulässig:
circle

object (Circle)

Fläche als Kreis

region

object (Region)

Gebiet als Region

customArea

object (CustomArea)

Benutzerdefinierter Bereich, der durch ein Polygon festgelegt ist.

Kreis

Ein Kreis wird durch einen Mittelpunkt und einen Radius in Metern definiert.

JSON-Darstellung
{
  "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.
}
Felder
radius

integer

Optional. Der Radius des Kreises in Metern

Union-Feld center. Der Mittelpunkt des Kreises. Für center ist nur einer der folgenden Werte zulässig:
latLng

object (LatLng)

Breiten- und Längengrad des Mittelpunkts des Kreises.

place

string

Der Name der Ortsressource für den Mittelpunkt des Kreises. Es werden nur Ortsmarken unterstützt.

LatLng

Ein Objekt, das ein Paar aus Breiten- und Längengrad darstellt. Es wird als Paar von Double-Werten ausgedrückt, die für den Breitengrad und den Längengrad stehen. Sofern nicht anders angegeben, muss es dem World Geodetic System 1984 (WGS 84) entsprechen. Die Werte müssen innerhalb normalisierter Bereiche liegen.

JSON-Darstellung
{
  "latitude": number,
  "longitude": number
}
Felder
latitude

number

Der Breitengrad in Grad. Er muss im Bereich [-90,0, +90,0] liegen.

longitude

number

Der Längengrad in Grad. Er muss im Bereich [-180,0, +180,0] liegen.

Region

Eine Region ist eine geografische Grenze wie Städte, Postleitzahlen, Landkreise oder Bundesländer.

JSON-Darstellung
{

  // Union field region can be only one of the following:
  "place": string
  // End of list of possible types for union field region.
}
Felder
Union-Feld region. Definiert eine geografische Region. Es kann jeweils nur ein Regionstyp (z.B. Ort) angegeben werden. Für region ist nur einer der folgenden Werte zulässig:
place

string

Die eindeutige Kennung einer bestimmten Region.

CustomArea

Benutzerdefiniertes Gebiet

JSON-Darstellung
{
  "polygon": {
    object (Polygon)
  }
}
Felder
polygon

object (Polygon)

Erforderlich. Der benutzerdefinierte Bereich als Polygon

Polygon

Ein Polygon wird durch eine Reihe verbundener Koordinaten in einer gegen den Uhrzeigersinn geordneten Reihenfolge dargestellt. Die Koordinaten bilden einen geschlossenen Kreis und definieren einen ausgefüllten Bereich. Die erste und die letzte Koordinate sind äquivalent und müssen identische Werte enthalten. Das Format ist eine vereinfachte Version von GeoJSON-Polygonen. Wir unterstützen nur einen Außenring gegen den Uhrzeigersinn.

JSON-Darstellung
{
  "coordinates": [
    {
      object (LatLng)
    }
  ]
}
Felder
coordinates[]

object (LatLng)

Optional. Die Koordinaten, die das Polygon definieren.

TypeFilter

Ortstypfilter

Es werden nur Ortstypen aus Tabelle a unterstützt.

Einem Ort kann nur ein primärer Typ zugewiesen werden. Der primäre Typ kann beispielsweise „mexican_restaurant“ oder „steak_house“ sein. Mit den Parametern „includedPrimaryTypes“ und „excludedPrimaryTypes“ können Sie die Ergebnisse nach dem primären Typ eines Orts filtern.

Einem Ort können auch mehrere Typwerte zugewiesen sein. Ein Restaurant kann beispielsweise die folgenden Typen haben: „seafood_restaurant“, „restaurant“, „food“, „point_of_interest“ und „establishment“. Mit den Parametern „includedTypes“ und „excludedTypes“ können Sie die Ergebnisse in der Liste der Typen filtern, die mit einem Ort verknüpft sind.

Wenn für eine Suche mehrere Einschränkungen angegeben sind, werden nur Orte zurückgegeben, die alle Einschränkungen erfüllen. Wenn Sie beispielsweise {"includedTypes": ["restaurant"], "excludedPrimaryTypes": ["steak_house"]} angeben, werden Orte zurückgegeben, die Dienstleistungen im Zusammenhang mit „Restaurants“ anbieten, aber nicht in erster Linie als „Steakhaus“ geführt werden.

Wenn es zu Konflikten kommt, d.h. ein Typ sowohl in „includedTypes“ als auch in „excludedTypes“ oder in „includedPrimaryTypes“ und „excludedPrimaryTypes“ enthalten ist, wird der Fehler INVALID_ARGUMENT zurückgegeben.

Es muss eine der Optionen „includedTypes“ oder „includedPrimaryTypes“ festgelegt sein.

JSON-Darstellung
{
  "includedTypes": [
    string
  ],
  "excludedTypes": [
    string
  ],
  "includedPrimaryTypes": [
    string
  ],
  "excludedPrimaryTypes": [
    string
  ]
}
Felder
includedTypes[]

string

Optional. Eingeschlossene Ortstypen

excludedTypes[]

string

Optional. Ausgeschlossene Ortstypen

includedPrimaryTypes[]

string

Optional. Eingeschlossene primäre Ortstypen

excludedPrimaryTypes[]

string

Optional. Ausgeschlossene primäre Ortstypen

OperatingStatus

Öffnungsstatus des Orts.

Enums
OPERATING_STATUS_UNSPECIFIED Nicht angegeben.
OPERATING_STATUS_OPERATIONAL Der Ort ist in Betrieb und zu den angegebenen Zeiten geöffnet.
OPERATING_STATUS_PERMANENTLY_CLOSED Das Unternehmen ist nicht mehr in Betrieb.
OPERATING_STATUS_TEMPORARILY_CLOSED Der Ort ist vorübergehend geschlossen und wird voraussichtlich in Zukunft wiedereröffnet.

PriceLevel

Preisniveau des Orts.

Enums
PRICE_LEVEL_UNSPECIFIED Das Preisniveau des Orts ist nicht angegeben oder unbekannt.
PRICE_LEVEL_FREE Der Ort bietet kostenlose Dienstleistungen an.
PRICE_LEVEL_INEXPENSIVE Der Ort bietet günstige Dienstleistungen an.
PRICE_LEVEL_MODERATE Der Ort bietet Dienstleistungen zu günstigen Preisen an.
PRICE_LEVEL_EXPENSIVE Der Ort bietet teure Dienstleistungen an.
PRICE_LEVEL_VERY_EXPENSIVE Der Ort bietet sehr teure Dienstleistungen an.

RatingFilter

Filter für die durchschnittliche Nutzerbewertung

JSON-Darstellung
{
  "minRating": number,
  "maxRating": number
}
Felder
minRating

number

Optional. Die Ergebnisse werden auf Orte beschränkt, deren durchschnittliche Nutzerbewertung mindestens „minRating“ entspricht. Die Werte müssen zwischen 1,0 und 5,0 liegen.

maxRating

number

Optional. Die Ergebnisse werden auf Orte beschränkt, deren durchschnittliche Nutzerbewertung kleiner oder gleich der maximalen Bewertung ist. Die Werte müssen zwischen 1,0 und 5,0 liegen.

PlaceInsight

Enthält Informationen zu einem Ort

JSON-Darstellung
{
  "place": string
}
Felder
place

string

Die eindeutige Kennung des Orts. Mit diesem Ressourcennamen können Sie mit der Places API Details zum Ort abrufen.