Method: places.searchNearby

搜尋地點附近的場所。

HTTP 要求

POST https://places.googleapis.com/v1/places:searchNearby

這個網址使用 gRPC 轉碼語法。

要求主體

要求主體會包含結構如下的資料:

JSON 表示法
{
  "languageCode": string,
  "regionCode": string,
  "includedTypes": [
    string
  ],
  "excludedTypes": [
    string
  ],
  "includedPrimaryTypes": [
    string
  ],
  "excludedPrimaryTypes": [
    string
  ],
  "maxResultCount": integer,
  "locationRestriction": {
    object (LocationRestriction)
  },
  "rankPreference": enum (RankPreference),
  "routingParameters": {
    object (RoutingParameters)
  },
  "includeFutureOpeningBusinesses": boolean
}
欄位
languageCode

string

如果地點詳細資料有提供偏好語言版本,系統就會顯示該版本。如果語言代碼未指定或無法辨識,系統可能會傳回任何語言的商家詳細資料,如果這類詳細資料存在,則會優先傳回英文版本。

目前支援的語言清單:https://developers.google.com/maps/faq#languagesupport

regionCode

string

要求來源地點的 Unicode 國家/地區代碼 (CLDR)。這個參數用於顯示地點詳細資料,例如特定區域的地點名稱 (如有)。這個參數可能會根據適用法律影響結果。

詳情請參閱 https://www.unicode.org/cldr/charts/latest/supplemental/territory_language_information.html

請注意,系統目前不支援 3 位數的區域代碼。

includedTypes[]

string

包含的地點類型 (例如「restaurant」或「gas_station」),請參閱 https://developers.google.com/maps/documentation/places/web-service/place-types

最多可指定 50 種表 A 類型。

如有任何衝突類型 (即類型同時出現在 includedTypes 和 excludedTypes 中),系統會傳回 INVALID_ARGUMENT 錯誤。

如果指定地點類型時設有多項限制,系統只會傳回符合所有限制的地點。舉例來說,如果我們有 {includedTypes = ["restaurant"], excludedPrimaryTypes = ["restaurant"]},傳回的地點會提供「餐廳」相關服務,但主要業務並非「餐廳」。

excludedTypes[]

string

排除的地點類型 (例如「restaurant」或「gas_station」),請參閱 https://developers.google.com/maps/documentation/places/web-service/place-types

最多可指定 50 種表 A 類型。

如果用戶同時提供 includedTypes (例如餐廳) 和 excludedTypes (例如咖啡廳),則回應應包含餐廳,但不包含咖啡廳。回應會包含符合至少一個 includedTypes,且不符合任何 excludedTypes 的地點。

如有任何衝突類型 (即類型同時出現在 includedTypes 和 excludedTypes 中),系統會傳回 INVALID_ARGUMENT 錯誤。

如果指定地點類型時設有多項限制,系統只會傳回符合所有限制的地點。舉例來說,如果我們有 {includedTypes = ["restaurant"], excludedPrimaryTypes = ["restaurant"]},傳回的地點會提供「餐廳」相關服務,但主要業務並非「餐廳」。

includedPrimaryTypes[]

string

內含主要地點類型 (例如「restaurant」或「gas_station」),請參閱 https://developers.google.com/maps/documentation/places/web-service/place-types。一個地點只能與支援類型表中的單一主要類型建立關聯。

最多可指定 50 種表 A 類型。

如有任何衝突的主要類型 (即類型同時出現在 includedPrimaryTypes 和 excludedPrimaryTypes 中),系統會傳回 INVALID_ARGUMENT 錯誤。

如果指定地點類型時設有多項限制,系統只會傳回符合所有限制的地點。舉例來說,如果我們有 {includedTypes = ["restaurant"], excludedPrimaryTypes = ["restaurant"]},傳回的地點會提供「餐廳」相關服務,但主要業務並非「餐廳」。

excludedPrimaryTypes[]

string

https://developers.google.com/maps/documentation/places/web-service/place-types 排除主要地點類型 (例如「restaurant」或「gas_station」)。

最多可指定 50 種表 A 類型。

如有任何衝突的主要類型 (即類型同時出現在 includedPrimaryTypes 和 excludedPrimaryTypes 中),系統會傳回 INVALID_ARGUMENT 錯誤。

如果指定地點類型時設有多項限制,系統只會傳回符合所有限制的地點。舉例來說,如果我們有 {includedTypes = ["restaurant"], excludedPrimaryTypes = ["restaurant"]},傳回的地點會提供「餐廳」相關服務,但主要業務並非「餐廳」。

maxResultCount

integer

要傳回的結果數上限。這個值必須介於 1 和 20 之間 (預設值),如果未設定這個數字,系統會改用上限。如果數字設為負數或超過上限,系統會傳回 INVALID_ARGUMENT 錯誤。

locationRestriction

object (LocationRestriction)

必填。要搜尋的區域。

rankPreference

enum (RankPreference)

回覆中結果的排序方式。

routingParameters

object (RoutingParameters)

(選用步驟) 影響搜尋結果路徑的參數。

includeFutureOpeningBusinesses

boolean

(選用步驟) 如果設為 true,則包含尚未開幕但未來會開幕的商家。

回應主體

「搜尋附近」的回應 Proto。

如果成功,回應主體會含有以下結構的資料:

JSON 表示法
{
  "places": [
    {
      object (Place)
    }
  ],
  "routingSummaries": [
    {
      object (RoutingSummary)
    }
  ]
}
欄位
places[]

object (Place)

符合使用者需求的地點清單,例如地點類型、地點數量和特定地點限制。

routingSummaries[]

object (RoutingSummary)

路徑摘要清單,每個項目都會與 places 欄位中相同索引的對應地點建立關聯。如果其中一個地點沒有路徑摘要,該地點的摘要就會是空白項目。如果系統要求,這份清單的項目數量應與地點清單相同。

授權範圍

需要下列 OAuth 範圍:

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

LocationRestriction

要搜尋的區域。

JSON 表示法
{

  // Union field type can be only one of the following:
  "circle": {
    object (Circle)
  }
  // End of list of possible types for union field type.
}
欄位

聯集欄位 type

type 只能是下列其中一項:

circle

object (Circle)

以中心點和半徑定義的圓形。

RankPreference

回覆中結果的排序方式。

列舉
RANK_PREFERENCE_UNSPECIFIED 未設定 RankPreference 值。根據預設,系統會依「熱門程度」排序。
DISTANCE 依距離排序結果。
POPULARITY 依熱門程度排序結果。