遷移至 Nearby Search (新功能)

Places API 支援現有的 Nearby Search。如果您熟悉現有的 Nearby Search,新版 Nearby Search 會進行以下變更:

  • 新的 Nearby Search 會使用 HTTP POST 要求。將參數做為 HTTP POST 要求的一部分,放在要求主體或標頭中。相較之下,現有的 Nearby Search 會使用 HTTP GET 要求傳送網址參數。
  • 必須遮蓋欄位。您必須指定要在回應中傳回的欄位。沒有預設的傳回欄位清單。如果省略這份清單,方法會傳回錯誤。詳情請參閱 FieldMask
  • 新版 Nearby Search 支援 API 金鑰OAuth 權杖做為驗證機制。
  • 新版「附近搜尋」功能僅支援 JSON 做為回應格式。
  • 所有包含文字查詢的要求現在應使用 Text Search (新版),因為 Nearby Search (新版) 不支援文字輸入。
  • Nearby Search (新版) API 的 JSON 回應格式已從現有 API 的格式變更為其他格式。詳情請參閱「遷移 Places API 回應」。

下表列出已根據新版 Nearby Search 重新命名或修改的現有 Nearby Search 參數,或是系統不再支援的參數。

目前的參數 新增參數 附註
keyword 不支援。請改用 Text Search (新版)
language languageCode
location locationRestriction 這是必填欄位。
maxprice/minprice 不支援。
maxResultCount 新參數。
opennow 不支援。
pagetoken 不支援。
radius 立即使用 locationRestriction
rankby rankPreference
regionCode 新參數。
type includedTypes
excludedTypes
includedPrimaryTypes
excludedPrimaryTypes
新參數也接受多種類型值。現有的 API 只接受單一值。

要求範例

下列 GET 要求範例使用現有的 Nearby Search。在這個範例中,您要求取得的 JSON 回應包含 restaurant 類型地點的相關資訊,並將所有參數做為網址參數傳遞:

curl -L -X GET \
'https://maps.googleapis.com/maps/api/place/nearbysearch/json?location=37.7937%2C-122.3965&radius=500&type=restaurant&key=API_KEY'

使用 Nearby Search (新版) 時,您會發出 POST 要求,並做為 POST 要求的一部分,在 JSON 要求主體或標頭中傳遞所有參數。此範例也使用欄位遮罩,因此回應只包含地點的顯示名稱和格式化地址:

curl -X POST -d '{
  "includedTypes": ["restaurant"],
  "locationRestriction": {
    "circle": {
      "center": {
        "latitude": 37.7937,
        "longitude": -122.3965},
      "radius": 500.0
    }
  }
}' \
-H 'Content-Type: application/json' -H "X-Goog-Api-Key: API_KEY" \
-H "X-Goog-FieldMask: places.displayName,places.formattedAddress" \
https://places.googleapis.com/v1/places:searchNearby