遷移至 Nearby Search (新功能)

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

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

下表列出現有附近搜尋服務中,已為新版附近搜尋服務重新命名或修改的參數,或不再支援的參數。

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

要求範例

下列範例 GET 要求會使用現有的附近搜尋功能。在這個範例中,您會要求 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 要求,並在 JSON 要求主體或標頭中傳遞所有參數,做為 POST 要求的一部分。這個範例也會使用欄位遮罩,因此回應只會包含地點的顯示名稱和格式化地址:

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