遷移至 Text Search (新功能)

Places API 支援現有的 Text Search。如果您熟悉現有的文字搜尋,新版文字搜尋會進行下列變更:

  • 新的 Text Search 會使用 HTTP POST 要求。將參數傳入要求主體或標頭中,做為 HTTP POST 要求的一部分。相較之下,針對現有的 Text Search,您可以使用 HTTP GET 要求傳送網址參數。
  • 必須指定欄位遮罩。您必須指定要在回應中傳回的欄位。沒有預設的傳回欄位清單。如果省略這份清單,這些方法就會傳回錯誤。詳情請參閱 FieldMask
  • 新版 Text Search 同時支援 API 金鑰OAuth 權杖做為驗證機制。
  • 新版 Text Search 僅支援 JSON 做為回應格式。
  • 現有的「搜尋文字」功能可讓您在查詢字串中指定經緯度座標。例如:query=37.4239,-122.0925。新版文字搜尋不支援該選項。

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

  • Text Search (新版) API 的 JSON 回應格式與現有 API 的格式已變更。詳情請參閱「遷移 Places API 回應」。

下表列出現有文字搜尋中已重新命名或修改的新文字搜尋的參數,或不再支援的參數。

目前的參數 新增參數 附註
evOptions 新參數。
language languageCode
location locationBias
maxprice/minprice priceLevels
opennow openNow
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 (New) 時,您可以發出 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'