簡介
Places API 支援鄰近搜尋 (舊版)。如果您熟悉 Nearby Search (舊版), Nearby Search (新版) 會進行下列變更:
- Nearby Search (New) 使用 HTTP POST 要求。 在 HTTP POST 要求中,於要求主體或標頭中傳遞參數。相較之下,使用 Nearby Search (舊版) 時,您會透過 HTTP GET 要求傳遞網址參數。
- 必須遮蓋欄位。您必須指定要在回應中傳回的欄位。系統不會預設傳回任何欄位。如果省略這份清單,方法會傳回錯誤。詳情請參閱 FieldMask。
- Nearby Search (新版) 支援 API 金鑰和 OAuth 權杖做為驗證機制。
- 在「搜尋附近 (新版)」中,僅支援 JSON 做為回應格式。
- 凡是包含文字查詢的要求,現在都應使用 Text Search (新版),因為 Nearby Search (新版) 不支援文字輸入。
- Nearby Search (New) 的 JSON 回應格式已從舊版 API 的格式變更。詳情請參閱「遷移 Places API 回應」。
下表列出「鄰近搜尋 (舊版)」中已重新命名或修改的參數,或是「鄰近搜尋 (新版)」不再支援的參數。
| 目前參數 | 新增參數 | 附註 |
|---|---|---|
keyword |
不支援。請改用文字搜尋 (新版)。 | |
language |
languageCode |
|
location |
locationRestriction |
必填。 |
maxprice/minprice |
|
不支援。 |
maxResultCount |
新參數。 | |
opennow |
|
不支援。 |
pagetoken |
不支援。 | |
radius |
|
立即使用 locationRestriction。 |
rankby |
rankPreference |
|
regionCode |
新參數。 | |
type |
includedTypesexcludedTypesincludedPrimaryTypesexcludedPrimaryTypes
|
新參數也接受多個類型值。舊版 API 僅接受單一值。 |
要求範例
下列範例 GET 要求使用 Nearby Search (舊版)。在這個範例中,你需要請求一個包含類型為 restaurant 的地點資訊的 JSON 回應,並將所有參數作為 URL 參數傳遞:
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'
使用附近搜尋(新版),您可以發出 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