Method: computeInsights

RPC Compute Insights

Metode ini memungkinkan Anda mengambil insight tentang area menggunakan berbagai filter seperti: area, jenis tempat, status operasi, tingkat harga, dan rating. Saat ini, insight "jumlah" dan "tempat" didukung. Dengan insight "jumlah", Anda dapat menjawab pertanyaan seperti "Berapa banyak restoran yang beroperasi, murah, dan memiliki rating rata-rata minimal 4 bintang di California" (lihat enum insight untuk mengetahui detail selengkapnya). Dengan insight "tempat", Anda dapat menentukan tempat mana yang cocok dengan filter yang diminta. Klien kemudian dapat menggunakan nama resource tempat tersebut untuk mengambil detail selengkapnya tentang setiap tempat menggunakan Places API.

Permintaan HTTP

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

URL menggunakan sintaksis gRPC Transcoding.

Isi permintaan

Isi permintaan memuat data dengan struktur berikut:

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

enum (Insight)

Wajib. Insight yang akan dihitung. Saat ini hanya INSIGHT_COUNT dan INSIGHT_PLACES yang didukung.

filter

object (Filter)

Wajib. Filter insight.

Isi respons

Respons untuk RPC v1.computeInsights.

Jika berhasil, isi respons memuat data dengan struktur berikut:

Representasi JSON
{
  "placeInsights": [
    {
      object (PlaceInsight)
    }
  ],
  "count": string
}
Kolom
placeInsights[]

object (PlaceInsight)

Hasil untuk Insights.INSIGHT_PLACES.

count

string (int64 format)

Hasil untuk Insights.INSIGHT_COUNT.

Cakupan otorisasi

Memerlukan cakupan OAuth berikut:

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

Insight

Insight yang didukung.

Enum
INSIGHT_UNSPECIFIED Tidak Ditentukan.
INSIGHT_COUNT

Insight jumlah.

Jika insight ini ditentukan, v1.computeInsights akan menampilkan jumlah tempat yang cocok dengan kriteria filter yang ditentukan.

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

Tempat Pengembalian

Jika insight ini ditentukan, v1.computeInsights akan menampilkan Tempat yang cocok dengan kriteria filter yang ditentukan.

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 untuk RPC v1.computeInsights.

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

object (LocationFilter)

Wajib. Membatasi hasil ke tempat yang berada di area yang ditentukan oleh filter lokasi.

typeFilter

object (TypeFilter)

Wajib. Filter jenis tempat.

operatingStatus[]

enum (OperatingStatus)

Opsional. Membatasi hasil ke tempat yang status operasinya disertakan dalam daftar ini. Jika operatingStatus tidak ditetapkan, OPERATING_STATUS_OPERATIONAL akan digunakan sebagai default.

priceLevels[]

enum (PriceLevel)

Opsional. Membatasi hasil ke tempat yang tingkat harganya disertakan dalam daftar ini. Jika price_level tidak ditetapkan, semua tingkat harga akan disertakan dalam hasil.

ratingFilter

object (RatingFilter)

Opsional. Membatasi hasil ke tempat yang rating pengguna rata-ratanya berada dalam rentang yang ditentukan oleh ratingFilter. Jika ratingFilter tidak ditetapkan, semua rating akan disertakan dalam hasil.

LocationFilter

Filter lokasi.

Menentukan area minat untuk insight.

Representasi 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.
}
Kolom
Kolom union area. Salah satu hal berikut harus ditentukan. area hanya dapat berupa salah satu dari berikut:
circle

object (Circle)

Area sebagai lingkaran.

region

object (Region)

Area sebagai wilayah.

customArea

object (CustomArea)

Area kustom yang ditentukan oleh poligon.

Lingkaran

Lingkaran ditentukan oleh titik tengah dan radius dalam meter.

Representasi 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.
}
Kolom
radius

integer

Opsional. Radius lingkaran dalam meter

Kolom union center. Pusat lingkaran. center hanya dapat berupa salah satu dari berikut:
latLng

object (LatLng)

Lintang dan bujur pusat lingkaran.

place

string

Nama resource Place dari bagian tengah lingkaran. Hanya tempat titik yang didukung.

LatLng

Objek yang merepresentasikan pasangan garis lintang/bujur. Ini dinyatakan sebagai pasangan nilai ganda untuk mewakili derajat lintang dan derajat bujur. Kecuali ditentukan lain, objek ini harus sesuai dengan standar WGS84. Nilai harus berada dalam rentang yang dinormalisasi.

Representasi JSON
{
  "latitude": number,
  "longitude": number
}
Kolom
latitude

number

Lintang dalam derajat. Harus dalam rentang [-90.0, +90.0].

longitude

number

Bujur dalam derajat. Harus dalam rentang [-180.0, +180.0].

Wilayah

Wilayah adalah batas geografis seperti: kota, kode pos, county, negara bagian, dll.

Representasi JSON
{

  // Union field region can be only one of the following:
  "place": string
  // End of list of possible types for union field region.
}
Kolom
Kolom union region. Menentukan wilayah geografis. Hanya satu jenis wilayah (misalnya, tempat) yang dapat ditentukan dalam satu waktu. region hanya dapat berupa salah satu dari berikut:
place

string

ID unik wilayah geografis tertentu.

CustomArea

Area Kustom.

Representasi JSON
{
  "polygon": {
    object (Polygon)
  }
}
Kolom
polygon

object (Polygon)

Wajib. Area kustom yang direpresentasikan sebagai poligon

Poligon

Poligon diwakili oleh serangkaian koordinat yang terhubung dalam urutan berlawanan arah jarum jam. Koordinat membentuk loop tertutup dan menentukan wilayah yang terisi. Koordinat pertama dan terakhir setara, dan harus berisi nilai yang sama. Format ini adalah versi sederhana dari poligon GeoJSON (kami hanya mendukung satu cincin luar berlawanan arah jarum jam).

Representasi JSON
{
  "coordinates": [
    {
      object (LatLng)
    }
  ]
}
Kolom
coordinates[]

object (LatLng)

Opsional. Koordinat yang menentukan poligon.

TypeFilter

Filter jenis tempat.

Hanya jenis Tempat dari Tabel a yang didukung.

Tempat hanya dapat memiliki satu jenis utama yang terkait dengannya. Misalnya, jenis utama dapat berupa "mexican_restaurant" atau "steak_house". Gunakan includedPrimaryTypes dan excludedPrimaryTypes untuk memfilter hasil pada jenis utama tempat.

Tempat juga dapat memiliki beberapa nilai jenis yang terkait dengannya. Misalnya, restoran mungkin memiliki jenis berikut: "seafood_restaurant", "restaurant", "food", "point_of_interest", "establishment". Gunakan includedTypes dan excludedTypes untuk memfilter hasil pada daftar jenis yang terkait dengan tempat.

Jika penelusuran ditentukan dengan beberapa batasan jenis, hanya tempat yang memenuhi semua batasan yang akan ditampilkan. Misalnya, jika Anda menentukan {"includedTypes": ["restaurant"], "excludedPrimaryTypes": ["steak_house"]}, tempat yang ditampilkan akan menyediakan layanan terkait "restaurant", tetapi tidak beroperasi terutama sebagai "steak_house".

Jika ada jenis yang bertentangan, yaitu jenis yang muncul dalam jenis includedTypes dan excludedTypes atau includedPrimaryTypes dan excludedPrimaryTypes, error INVALID_ARGUMENT akan ditampilkan.

Salah satu dari includedTypes atau includedPrimaryTypes harus ditetapkan.

Representasi JSON
{
  "includedTypes": [
    string
  ],
  "excludedTypes": [
    string
  ],
  "includedPrimaryTypes": [
    string
  ],
  "excludedPrimaryTypes": [
    string
  ]
}
Kolom
includedTypes[]

string

Opsional. Jenis Tempat yang disertakan.

excludedTypes[]

string

Opsional. Jenis Tempat yang dikecualikan.

includedPrimaryTypes[]

string

Opsional. Menyertakan jenis Tempat utama.

excludedPrimaryTypes[]

string

Opsional. Jenis Tempat utama yang dikecualikan.

OperatingStatus

Status operasional tempat.

Enum
OPERATING_STATUS_UNSPECIFIED Tidak Ditentukan.
OPERATING_STATUS_OPERATIONAL Tempat ini beroperasi dan buka selama jam buka yang ditentukan.
OPERATING_STATUS_PERMANENTLY_CLOSED Tempat ini tidak lagi beroperasi.
OPERATING_STATUS_TEMPORARILY_CLOSED Tempat tutup sementara dan diperkirakan akan dibuka kembali pada masa mendatang.

PriceLevel

Tingkat harga tempat.

Enum
PRICE_LEVEL_UNSPECIFIED Tingkat harga tempat tidak ditentukan atau tidak diketahui.
PRICE_LEVEL_FREE Tempat menyediakan layanan gratis.
PRICE_LEVEL_INEXPENSIVE Tempat ini menyediakan layanan yang murah.
PRICE_LEVEL_MODERATE Tempat ini menyediakan layanan dengan harga sedang.
PRICE_LEVEL_EXPENSIVE Tempat ini menyediakan layanan yang mahal.
PRICE_LEVEL_VERY_EXPENSIVE Tempat ini menyediakan layanan yang sangat mahal.

RatingFilter

Filter rating pengguna rata-rata.

Representasi JSON
{
  "minRating": number,
  "maxRating": number
}
Kolom
minRating

number

Opsional. Membatasi hasil ke tempat yang memiliki rating pengguna rata-rata lebih besar dari atau sama dengan minRating. Nilai harus antara 1,0 dan 5,0.

maxRating

number

Opsional. Membatasi hasil ke tempat yang memiliki rating pengguna rata-rata yang benar-benar kurang dari atau sama dengan maxRating. Nilai harus antara 1,0 dan 5,0.

PlaceInsight

Menyimpan informasi tentang suatu tempat

Representasi JSON
{
  "place": string
}
Kolom
place

string

ID unik tempat. Nama resource ini dapat digunakan untuk mengambil detail tentang tempat menggunakan Places API.