- HTTP 要求
- 要求主體
- 回應主體
- 授權範圍
- LocationBias
- LocationRestriction
- 建議
- PlacePrediction
- FormattableText
- StringRange
- StructuredFormat
- QueryPrediction
傳回指定輸入內容的預測結果。
HTTP 要求
POST https://places.googleapis.com/v1/places:autocomplete
這個網址使用 gRPC 轉碼語法。
要求主體
要求主體會包含結構如下的資料:
| JSON 表示法 |
|---|
{ "input": string, "locationBias": { object ( |
| 欄位 | |
|---|---|
input |
必填。要搜尋的文字字串。 |
locationBias |
(選用步驟) 針對指定地點調整結果。 最多只能設定 |
locationRestriction |
(選用步驟) 將結果限制在指定地點。 最多只能設定 |
includedPrimaryTypes[] |
(選用步驟) 地點類型 (https://developers.google.com/maps/documentation/places/web-service/place-types) 中包含的主要地點類型 (例如「restaurant」或「gas_station」),或僅 |
includedRegionCodes[] |
(選用步驟) 只納入指定區域的結果,最多可指定 15 個 CLDR 雙字元區域代碼。空集合不會限制結果。如果同時設定 |
languageCode |
(選用步驟) 傳回結果時使用的語言。預設為「en-US」。如果 |
regionCode |
(選用步驟) 區碼,指定為 CLDR 雙字元區碼。這會影響地址格式和結果排名,也可能影響傳回的結果。這不會將結果限制在指定區域。如要將結果限制在特定區域,請使用 |
origin |
(選用步驟) 計算到目的地 (以 |
inputOffset |
(選用步驟) 以零為基準的 Unicode 字元位移值 如果為空白,則預設為 |
includeQueryPredictions |
(選用步驟) 如果設為 true,回應會同時包含地點和查詢預測。否則回應只會傳回地點預測結果。 |
sessionToken |
(選用步驟) 用於識別 Autocomplete 工作階段的字串,以利計費。必須是網址和檔案名稱安全 Base64 字串,長度最多為 36 個 ASCII 字元。否則會傳回 INVALID_ARGUMENT 錯誤。 工作階段是從使用者輸入查詢時開始,到使用者選取地點並呼叫 Place Details 或 Address Validation 時結束。在每個工作階段中,使用者可以輸入多筆查詢,最終提出一項 Place Details 或 Address Validation 要求。工作階段中每項要求使用的憑證,都必須屬於同一個 Google Cloud 控制台專案。工作階段結束後,符記就會失效。您的應用程式必須為每個工作階段產生新的符記。如果省略 建議遵循下列準則:
|
includePureServiceAreaBusinesses |
(選用步驟) 如果欄位設為 true,則包含純區域服務商家。純區域服務商家是指提供到府服務或直接送貨給顧客的商家,不在商家地址服務顧客。例如清潔或水電服務。這些商家在 Google 地圖上沒有實體地址或位置。Places 不會傳回這些商家包含 |
includeFutureOpeningBusinesses |
(選用步驟) 如果設為 true,則包含尚未開幕但未來會開幕的商家。 |
回應主體
places.autocomplete 的回應 proto。
如果成功,回應主體會含有以下結構的資料:
| JSON 表示法 |
|---|
{
"suggestions": [
{
object ( |
| 欄位 | |
|---|---|
suggestions[] |
內含建議清單,依關聯性遞減排序。 |
授權範圍
需要下列 OAuth 範圍:
https://www.googleapis.com/auth/cloud-platform
LocationBias
要搜尋的區域。結果可能會偏向指定區域。
| JSON 表示法 |
|---|
{ // Union field |
| 欄位 | |
|---|---|
聯集欄位
|
|
rectangle |
由東北角和西南角定義的檢視區塊。 |
circle |
以中心點和半徑定義的圓形。 |
LocationRestriction
要搜尋的區域。系統只會顯示指定區域的結果。
| JSON 表示法 |
|---|
{ // Union field |
| 欄位 | |
|---|---|
聯集欄位
|
|
rectangle |
由東北角和西南角定義的檢視區塊。 |
circle |
以中心點和半徑定義的圓形。 |
建議
自動完成建議結果。
| JSON 表示法 |
|---|
{ // Union field |
| 欄位 | |
|---|---|
聯集欄位
|
|
placePrediction |
地點的預測結果。 |
queryPrediction |
查詢的預測結果。 |
PlacePrediction
Place Autocomplete 預測結果的預測結果。
| JSON 表示法 |
|---|
{ "place": string, "placeId": string, "text": { object ( |
| 欄位 | |
|---|---|
place |
建議地點的資源名稱。這個名稱可用於接受地點名稱的其他 API。 |
placeId |
建議地點的專屬 ID。這個 ID 可用於接受地點 ID 的其他 API。 |
text |
包含傳回結果的使用者可解讀名稱。如果是機構結果,通常會顯示商家名稱和地址。 建議想顯示單一 UI 元素的開發人員使用 這段文字可能與 places.get 傳回的 如果要求 |
structuredFormat |
地點預測會細分為主要文字 (包含地點名稱) 和次要文字 (包含其他消歧特徵,例如城市或區域)。 如果開發人員想顯示兩個獨立但相關的 UI 元素,建議使用 |
types[] |
適用於這個地點的類型清單,請參閱 https://developers.google.com/maps/documentation/places/web-service/place-types 的表 A 或表 B。 類型是地點的分類。類型相同的地點會具有相似特徵。 |
distanceMeters |
如果指定 |
FormattableText
代表地點或查詢預測的文字。你可以直接使用或設定格式。
| JSON 表示法 |
|---|
{
"text": string,
"matches": [
{
object ( |
| 欄位 | |
|---|---|
text |
可直接使用或以 |
matches[] |
字串範圍清單,用於識別輸入要求在 這些值是 |
StringRange
識別指定文字中的子字串。
| JSON 表示法 |
|---|
{ "startOffset": integer, "endOffset": integer } |
| 欄位 | |
|---|---|
startOffset |
字串第一個 Unicode 字元的位移值 (從零算起,含該字元)。 |
endOffset |
最後一個 Unicode 字元的以零為準的位移 (不含該值)。 |
StructuredFormat
包含地點或查詢預測結果的細目,分為主要文字和次要文字。
如果是地點預測,主要文字會包含地點的具體名稱。如果是查詢預測,主要文字會包含查詢內容。
次要文字包含其他消歧特徵 (例如城市或區域),可進一步識別地點或修正查詢。
| JSON 表示法 |
|---|
{ "mainText": { object ( |
| 欄位 | |
|---|---|
mainText |
代表地點或查詢的名稱。 |
secondaryText |
代表其他消歧特徵 (例如城市或區域),可進一步識別地點或修正查詢。 |
QueryPrediction
查詢自動完成預測的預測結果。
| JSON 表示法 |
|---|
{ "text": { object ( |
| 欄位 | |
|---|---|
text |
預測文字。這段文字並非代表地點,而是可用於搜尋端點 (例如 Text Search) 的文字查詢。 建議想顯示單一 UI 元素的開發人員使用 如果要求 |
structuredFormat |
查詢預測的細目,包括含有查詢內容的主要文字,以及含有其他消歧特徵 (例如城市或區域) 的次要文字。 如果開發人員想顯示兩個獨立但相關的 UI 元素,建議使用 |