遷移至 Nearby Search (新功能)

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

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

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

目前的參數 新增參數 附註
keyword 不支援。請改用文字搜尋 (新版)
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