- 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),或僅限 (區域) 中,來自表 A 或表 B 表 B 的「餐廳」或「gas_station」。只有當「地點」的主要類型列於這個清單中時,才會傳回「地點」。最多可以指定 5 個值。如未指定類型,系統會傳回所有「地點」類型。 |
includedRegionCodes[] |
選用設定。只納入指定區域的結果,最多可以指定 15 個 CLDR 雙字元區碼。空白集合不會限制結果。如果同時設定 |
languageCode |
選用設定。傳回結果時使用的語言。預設值為 en-US。如果 |
regionCode |
選用設定。區碼,以 CLDR 雙字元區碼的形式指定。這會影響地址格式和結果排名,並可能會影響傳回的結果。這項操作不會限制只傳回指定區域的結果。如要將結果範圍限制在特定區域,請使用 |
origin |
選用設定。計算到目的地的測地距離的起點 (以 |
inputOffset |
選用設定。以零為基礎的 Unicode 字元位移 如果留空,系統會使用 |
includeQueryPredictions |
選用設定。如果為 true,回應會包含地點和查詢預測結果。否則,回應將只會傳回「地點」預測結果。 |
sessionToken |
選用設定。用來識別結算用 Autocomplete 工作階段的字串。必須是網址和檔案名稱安全 Base64 字串,且長度不得超過 36 個 ASCII 字元。否則會傳回 INVALID_src 錯誤。 工作階段是從使用者輸入查詢時開始,直到使用者選取地點,並呼叫 Place Details 或地址驗證時結束。每個工作階段都可以包含多項查詢,後面接著一筆地點詳細資料或地址驗證要求。工作階段中每個要求使用的憑證都必須屬於同一個 Google Cloud 控制台專案。工作階段結束後,符記就會失效。應用程式就必須為每個工作階段產生新的符記如果省略 建議您遵循下列規範:
|
回應主體
places.autocomplete 的回應 proto。
如果成功,回應主體會含有以下結構的資料:
JSON 表示法 |
---|
{
"suggestions": [
{
object ( |
欄位 | |
---|---|
suggestions[] |
包含建議清單,並按關聯性遞減排序。 |
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 元素,建議使用 這段文字可能與 place.get 傳回的 如果 |
structuredFormat |
提供「地點」預測的細目,當中包含地點名稱及次要文字,當中含有其他清楚易懂的地圖項目 (例如城市或區域)。 如果開發人員想顯示兩個獨立且相關的 UI 元素,建議使用 |
types[] |
可套用至此地點的類型清單 (網址為 https://developers.google.com/maps/documentation/places/web-service/place-types)。 型別是指「地點」的分類。共通類型的地點會有相似的特徵。 |
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
Query Autocomplete 預測結果的預測結果。
JSON 表示法 |
---|
{ "text": { object ( |
欄位 | |
---|---|
text |
預測文字。這段文字並非代表地點,而是可用於搜尋端點 (例如 Text Search) 的文字查詢。 如果開發人員想顯示單一 UI 元素,建議使用 如果要求 |
structuredFormat |
查詢預測的主要文字,內含查詢,次要文字則含有其他容易辨識的特徵 (例如城市或區域)。 如果開發人員想顯示兩個獨立且相關的 UI 元素,建議使用 |