Method: computeInsights

RPC Thông tin chi tiết về điện toán

Phương thức này cho phép bạn truy xuất thông tin chi tiết về các khu vực bằng nhiều bộ lọc như: khu vực, loại địa điểm, trạng thái hoạt động, mức giá và điểm xếp hạng. Hiện tại, chúng tôi hỗ trợ thông tin chi tiết về "số lượng" và "số địa điểm". Với thông tin chi tiết về "số lượng", bạn có thể trả lời các câu hỏi như "Có bao nhiêu nhà hàng đang hoạt động, giá rẻ và có điểm xếp hạng trung bình ít nhất là 4 sao ở California" (xem enum insight để biết thêm chi tiết). Thông qua thông tin chi tiết về "địa điểm", bạn có thể xác định những địa điểm khớp với bộ lọc đã yêu cầu. Sau đó, ứng dụng có thể sử dụng tên tài nguyên địa điểm đó để tìm nạp thêm thông tin chi tiết về từng địa điểm riêng lẻ bằng API Địa điểm.

Yêu cầu HTTP

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

URL sử dụng cú pháp Chuyển mã gRPC.

Nội dung yêu cầu

Nội dung yêu cầu chứa dữ liệu có cấu trúc sau:

Biểu diễn dưới dạng JSON
{
  "insights": [
    enum (Insight)
  ],
  "filter": {
    object (Filter)
  }
}
Trường
insights[]

enum (Insight)

Bắt buộc. Thông tin chi tiết cần tính toán. Hiện tại, chúng tôi chỉ hỗ trợ INSIGHT_COUNT và INSIGHT_PLACES.

filter

object (Filter)

Bắt buộc. Bộ lọc thông tin chi tiết.

Nội dung phản hồi

Phản hồi cho RPC v1.computeInsights.

Nếu thành công, phần nội dung phản hồi sẽ chứa dữ liệu có cấu trúc sau:

Biểu diễn dưới dạng JSON
{
  "placeInsights": [
    {
      object (PlaceInsight)
    }
  ],
  "count": string
}
Trường
placeInsights[]

object (PlaceInsight)

Kết quả cho Insights.INSIGHT_PLACES.

count

string (int64 format)

Kết quả cho Insights.INSIGHT_COUNT.

Phạm vi uỷ quyền

Yêu cầu phạm vi OAuth sau:

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

Thông tin chi tiết

Thông tin chi tiết được hỗ trợ.

Enum
INSIGHT_UNSPECIFIED Chưa chỉ định.
INSIGHT_COUNT

Thông tin chi tiết về số lượt đếm.

Khi thông tin chi tiết này được chỉ định, v1.computeInsights sẽ trả về số lượng địa điểm khớp với tiêu chí bộ lọc đã chỉ định.

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

Trả lại địa điểm

Khi bạn chỉ định thông tin chi tiết này, v1.computeInsights sẽ trả về những Địa điểm khớp với tiêu chí bộ lọc đã chỉ định.

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

Lọc

Bộ lọc cho RPC v1.computeInsights.

Biểu diễn dưới dạng JSON
{
  "locationFilter": {
    object (LocationFilter)
  },
  "typeFilter": {
    object (TypeFilter)
  },
  "operatingStatus": [
    enum (OperatingStatus)
  ],
  "priceLevels": [
    enum (PriceLevel)
  ],
  "ratingFilter": {
    object (RatingFilter)
  }
}
Trường
locationFilter

object (LocationFilter)

Bắt buộc. Giới hạn kết quả ở những địa điểm nằm trong khu vực do bộ lọc vị trí chỉ định.

typeFilter

object (TypeFilter)

Bắt buộc. Bộ lọc loại địa điểm.

operatingStatus[]

enum (OperatingStatus)

Không bắt buộc. Chỉ hiển thị những địa điểm có trạng thái hoạt động có trong danh sách này. Nếu bạn không đặt operatingStatus, thì OPERATING_STATUS_OPERATIONAL sẽ được dùng làm giá trị mặc định.

priceLevels[]

enum (PriceLevel)

Không bắt buộc. Chỉ hiển thị những địa điểm có mức giá nằm trong danh sách này. Nếu bạn không đặt price_level, tất cả các cấp giá sẽ được đưa vào kết quả.

ratingFilter

object (RatingFilter)

Không bắt buộc. Giới hạn kết quả ở những địa điểm có điểm xếp hạng trung bình của người dùng nằm trong phạm vi do ratingFilter chỉ định. Nếu bạn không đặt ratingFilter, tất cả điểm xếp hạng sẽ được đưa vào kết quả.

LocationFilter

Bộ lọc vị trí.

Chỉ định khu vực quan tâm cho thông tin chi tiết.

Biểu diễn dưới dạng 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.
}
Trường
Trường hợp hợp nhất area. Bạn phải chỉ định một trong những giá trị sau. area chỉ có thể là một trong những loại sau:
circle

object (Circle)

Diện tích dưới dạng hình tròn.

region

object (Region)

Diện tích dưới dạng khu vực.

customArea

object (CustomArea)

Khu vực tuỳ chỉnh được chỉ định bằng một đa giác.

Hình tròn

Đường tròn được xác định bằng tâm điểm và bán kính tính bằng mét.

Biểu diễn dưới dạng 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.
}
Trường
radius

integer

Không bắt buộc. Bán kính của hình tròn tính bằng mét

Trường hợp hợp nhất center. Tâm của hình tròn. center chỉ có thể là một trong những loại sau:
latLng

object (LatLng)

Vĩ độ và kinh độ của tâm hình tròn.

place

string

Tên tài nguyên Địa điểm của tâm vòng tròn. Chỉ hỗ trợ địa điểm dạng điểm.

LatLng

Một đối tượng đại diện cho một cặp vĩ độ/kinh độ. Giá trị này được biểu thị dưới dạng một cặp số thực để thể hiện vĩ độ và kinh độ theo độ. Trừ phi có quy định khác, đối tượng này phải tuân thủ tiêu chuẩn WGS84. Giá trị phải nằm trong phạm vi chuẩn hoá.

Biểu diễn dưới dạng JSON
{
  "latitude": number,
  "longitude": number
}
Trường
latitude

number

Vĩ độ tính bằng độ. Giá trị này phải nằm trong khoảng [-90.0, +90.0].

longitude

number

Kinh độ tính bằng độ. Giá trị này phải nằm trong khoảng [-180.0, +180.0].

Khu vực

Khu vực là một ranh giới địa lý, chẳng hạn như: thành phố, mã bưu chính, quận, tiểu bang, v.v.

Biểu diễn dưới dạng JSON
{

  // Union field region can be only one of the following:
  "place": string
  // End of list of possible types for union field region.
}
Trường
Trường hợp hợp nhất region. Xác định một khu vực địa lý. Mỗi lần, bạn chỉ có thể chỉ định một loại khu vực (ví dụ: địa điểm). region chỉ có thể là một trong những loại sau:
place

string

Giá trị nhận dạng duy nhất của một khu vực địa lý cụ thể.

CustomArea

Khu vực tuỳ chỉnh.

Biểu diễn dưới dạng JSON
{
  "polygon": {
    object (Polygon)
  }
}
Trường
polygon

object (Polygon)

Bắt buộc. Khu vực tuỳ chỉnh được biểu thị dưới dạng đa giác

Đa giác

Đa giác được biểu thị bằng một loạt toạ độ được kết nối theo thứ tự ngược chiều kim đồng hồ. Các toạ độ tạo thành một vòng lặp kín và xác định một vùng được tô màu. Toạ độ đầu tiên và cuối cùng tương đương nhau và phải chứa các giá trị giống hệt nhau. Định dạng này là phiên bản đơn giản của đa giác GeoJSON (chúng tôi chỉ hỗ trợ một vòng ngoài ngược chiều kim đồng hồ).

Biểu diễn dưới dạng JSON
{
  "coordinates": [
    {
      object (LatLng)
    }
  ]
}
Trường
coordinates[]

object (LatLng)

Không bắt buộc. Toạ độ xác định đa giác.

TypeFilter

Bộ lọc loại địa điểm.

Chỉ hỗ trợ các loại Địa điểm trong Bảng a.

Một địa điểm chỉ có thể có một loại chính được liên kết. Ví dụ: loại chính có thể là "mexican_restaurant" hoặc "steak_house". Sử dụng includedPrimaryTypes và excludedPrimaryTypes để lọc kết quả theo loại chính của địa điểm.

Một địa điểm cũng có thể có nhiều giá trị loại được liên kết với địa điểm đó. Ví dụ: một nhà hàng có thể có các loại sau: "seafood_restaurant", "restaurant", "food", "point_of_interest", "establishment". Sử dụng includedTypes và excludedTypes để lọc kết quả trong danh sách các loại được liên kết với một địa điểm.

Nếu một cụm từ tìm kiếm được chỉ định với nhiều quy định hạn chế về loại, thì hệ thống chỉ trả về những địa điểm đáp ứng tất cả các quy định hạn chế đó. Ví dụ: nếu bạn chỉ định {"includedTypes": ["restaurant"], "excludedPrimaryTypes": ["steak_house"]}, thì những địa điểm được trả về sẽ cung cấp các dịch vụ liên quan đến "nhà hàng" nhưng không hoạt động chủ yếu dưới dạng "steak_house".

Nếu có bất kỳ loại nào xung đột, tức là một loại xuất hiện trong cả loại includedTypes và excludedTypes hoặc includedPrimaryTypes và excludedPrimaryTypes, thì lỗi INVALID_ARGUMENT sẽ được trả về.

Bạn phải đặt một trong các includedTypes hoặc includedPrimaryTypes.

Biểu diễn dưới dạng JSON
{
  "includedTypes": [
    string
  ],
  "excludedTypes": [
    string
  ],
  "includedPrimaryTypes": [
    string
  ],
  "excludedPrimaryTypes": [
    string
  ]
}
Trường
includedTypes[]

string

Không bắt buộc. Các loại Địa điểm được đưa vào.

excludedTypes[]

string

Không bắt buộc. Các loại Địa điểm bị loại trừ.

includedPrimaryTypes[]

string

Không bắt buộc. Bao gồm các loại Địa điểm chính.

excludedPrimaryTypes[]

string

Không bắt buộc. Các loại Địa điểm chính bị loại trừ.

OperatingStatus

Trạng thái hoạt động của địa điểm.

Enum
OPERATING_STATUS_UNSPECIFIED Chưa chỉ định.
OPERATING_STATUS_OPERATIONAL Địa điểm này đang hoạt động và mở cửa trong khung giờ đã định.
OPERATING_STATUS_PERMANENTLY_CLOSED Địa điểm này không còn hoạt động nữa.
OPERATING_STATUS_TEMPORARILY_CLOSED Địa điểm này tạm thời đóng cửa và dự kiến sẽ mở cửa trở lại trong tương lai.

PriceLevel

Mức giá của địa điểm.

Enum
PRICE_LEVEL_UNSPECIFIED Mức giá của địa điểm chưa được chỉ định hoặc không xác định.
PRICE_LEVEL_FREE Địa điểm cung cấp dịch vụ miễn phí.
PRICE_LEVEL_INEXPENSIVE Địa điểm cung cấp các dịch vụ giá rẻ.
PRICE_LEVEL_MODERATE Địa điểm cung cấp các dịch vụ có mức giá vừa phải.
PRICE_LEVEL_EXPENSIVE Địa điểm này cung cấp các dịch vụ đắt đỏ.
PRICE_LEVEL_VERY_EXPENSIVE Địa điểm này cung cấp các dịch vụ rất đắt đỏ.

RatingFilter

Bộ lọc điểm xếp hạng trung bình của người dùng.

Biểu diễn dưới dạng JSON
{
  "minRating": number,
  "maxRating": number
}
Trường
minRating

number

Không bắt buộc. Hạn chế kết quả chỉ hiển thị những địa điểm có điểm xếp hạng trung bình của người dùng lớn hơn hoặc bằng minRating. Giá trị phải nằm trong khoảng từ 1,0 đến 5,0.

maxRating

number

Không bắt buộc. Hạn chế kết quả ở những địa điểm có điểm xếp hạng trung bình của người dùng thấp hơn hoặc bằng maxRating. Giá trị phải nằm trong khoảng từ 1,0 đến 5,0.

PlaceInsight

Chứa thông tin về một địa điểm

Biểu diễn dưới dạng JSON
{
  "place": string
}
Trường
place

string

Giá trị nhận dạng duy nhất của địa điểm. Bạn có thể dùng tên tài nguyên này để truy xuất thông tin chi tiết về địa điểm bằng API Địa điểm.