遷移至 Text Search (新功能)

Places API (舊版) 支援Text Search (舊版)。如果您熟悉 Text Search (舊版), Text Search (新版) 會進行以下變更:

  • 文字搜尋 (新版) 會使用 HTTP POST 要求。在要求主體或標頭中,將參數傳遞為 HTTP POST 要求的一部分。相較之下,Text Search (舊版) 會使用 HTTP GET 要求傳遞網址參數。
  • 必須使用欄位遮蓋功能。您必須指定要在回應中傳回哪些欄位。系統不會提供傳回欄位的預設清單。如果省略這個清單,方法會傳回錯誤。詳情請參閱 FieldMask
  • Text Search (新版) 支援 API 金鑰OAuth 憑證做為驗證機制。
  • 新版文字搜尋功能僅支援 JSON 回應格式。
  • 您可以在查詢字串中指定緯度和經度座標,例如:query=37.4239,-122.0925。文字搜尋 (新版) 不支援這個選項。

    您可以使用反向地理編碼功能搜尋座標並傳回地址,也可以使用Nearby Search (新版) 找出特定位置附近的地點。

  • Text Search (New) 的 JSON 回應格式已變更,不再採用舊版 API 的格式。詳情請參閱「遷移 Places API 回應」。

下表列出 Text Search (舊版) 中已為 Text Search (新版) 重新命名或修改的參數,或不再支援的參數。

目前的參數 新增參數 附註
evOptions 新參數。
language languageCode
location locationBias
maxprice/minprice priceLevels
opennow openNow
pagetoken pageToken
query textQuery 所有要求都必須包含這項屬性。
radius locationBias 定義 locationBias 時,請指定半徑。
region regionCode
type includedType 只接受單一值。
strictTypeFiltering 新參數。

要求範例

下列範例 GET 要求使用文字搜尋 (舊版)。在這個範例中,您會要求 JSON 回應,其中包含「澳洲雪梨的辛辣素食」相關資訊,並將所有參數設為網址參數:

curl -L -X GET \
'https://maps.googleapis.com/maps/api/place/textsearch/json?query=Spicy%20Vegetarian%20Food%20in%20Sydney%20Australia&key=API_KEY

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

curl -X POST -d '{
  "textQuery" : "Spicy Vegetarian Food in Sydney, Australia"
}' \
-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:searchText'