Autocomplete Data (new)

AutocompleteRequest 介面

google.maps.places.AutocompleteRequest 介面

AutocompleteSuggestion.fetchAutocompleteSuggestions 的要求介面。

input
類型:  string
要搜尋的文字字串。
includedPrimaryTypes optional
類型:  Array<string> optional
包含主要地點類型 (例如「餐廳」或「gas_station」)。

只有在這份清單包含地點的主要類型時,系統才會傳回該地點。最多可以指定 5 個值。如未指定類型,系統會傳回所有「地點」類型。
includedRegionCodes optional
類型:  Array<string> optional
只納入指定區域的結果,最多可以指定 15 個 CLDR 雙字元區碼。空白集合不會限制結果。如果同時設定 locationRestrictionincludedRegionCodes,結果會在十字路口的區域內。
inputOffset optional
類型:  number optional
以零為基礎的 Unicode 字元位移 input,指出遊標位置input。遊標位置可能會影響傳回的預測結果。如未指定,預設值為 input 的長度。
language optional
類型:  string optional
傳回結果時使用的語言。將預設採用瀏覽器的語言偏好設定。如果 input 使用的語言與 language 不同,或是傳回的地點沒有當地語言翻譯成 language 的版本,則結果可能會出現混合語言。
locationBias optional
類型:  LocationBias optional
將結果自訂調整至指定位置。

最多只能設定其中一個「locationBias」或「locationRestriction」。如果兩者皆未設定,系統就會按 IP 位址調整結果,也就是說,這個 IP 位址會對應至不精確的位置,並做為自訂調整信號使用。
locationRestriction optional
類型:  LocationRestriction optional
限制只顯示指定位置的結果。

最多只能設定其中一個「locationBias」或「locationRestriction」。如果兩者皆未設定,系統就會按 IP 位址調整結果,也就是說,這個 IP 位址會對應至不精確的位置,並做為自訂調整信號使用。
origin optional
類型:  LatLng|LatLngLiteral optional
計算到目的地測地距離的起點 (傳回為 PlacePrediction.distanceMeters)。如果省略這個值,則不會傳回測地距離。
region optional
類型:  string optional
區碼,以 CLDR 雙字元區碼的形式指定。這會影響地址格式和結果排名,並可能會影響傳回的結果。這項操作不會限制只傳回指定區域的結果。
sessionToken optional
類型:  AutocompleteSessionToken optional
用於識別 Autocomplete 工作階段的權杖,以便用於計費。透過 AutocompleteSessionToken 產生新的工作階段符記。

工作階段是從使用者輸入查詢時開始,到使用者選取地點並呼叫 Place.fetchFields 時結束。每個工作階段都可以進行多項查詢,後面加上一個 fetchFields 呼叫。工作階段中每個要求使用的憑證都必須屬於同一個 Google Cloud 控制台專案。工作階段結束後,符記就會失效;應用程式必須為每個工作階段產生新的符記。如果省略 sessionToken 參數或重複使用工作階段符記,系統會視為未提供工作階段符記,並針對工作階段收費 (每個要求分別收費)。

建議您參考下列規範:
  • 對所有 Place Autocomplete 呼叫使用工作階段符記。
  • 為每個工作階段產生新的權杖。
  • 請務必針對每個新的工作階段傳遞不重複的工作階段符記。如果多個工作階段使用同一個符記,則每個要求會分別計費。

AutocompleteSessionToken 類別

google.maps.places.AutocompleteSessionToken 類別

代表用於追蹤自動完成工作階段的工作階段符記。

呼叫 const {AutocompleteSessionToken} = await google.maps.importLibrary("places") 即可存取。請參閱 Maps JavaScript API 中的程式庫

AutocompleteSessionToken
AutocompleteSessionToken()
參數:
用來建立 AutocompleteSessionToken 的新例項。

AutocompleteSuggestion 類別

google.maps.places.AutocompleteSuggestion 類別

自動完成建議結果。

呼叫 const {AutocompleteSuggestion} = await google.maps.importLibrary("places") 即可存取。請參閱 Maps JavaScript API 中的程式庫

fetchAutocompleteSuggestions
fetchAutocompleteSuggestions(autocompleteRequest)
參數: 
傳回值:  Promise<{suggestions:Array<AutocompleteSuggestion>}>
擷取自動完成建議清單。
placePrediction
類型:  PlacePrediction optional
包含傳回結果中使用者可理解的名稱。對建築物結果而言,這通常是商家名稱和地址。

PlacePrediction 類別

google.maps.places.PlacePrediction 類別

Place Autocomplete 預測結果的預測結果。

呼叫 const {PlacePrediction} = await google.maps.importLibrary("places") 即可存取。請參閱 Maps JavaScript API 中的程式庫

distanceMeters
類型:  number optional
如果指定 origin,距離 origin 的測地線長度 (以公尺為單位)。
mainText
類型:  FormattableText optional
代表地點的名稱。
placeId
類型:  string
建議地點的專屬 ID。這個 ID 可用於其他接受地點 ID 的 API。
secondaryText
類型:  FormattableText optional
表示其他可清楚辨識的地圖項目 (例如城市或區域),以便進一步識別「地點」。
text
類型:  FormattableText
包含傳回結果中使用者可理解的名稱。對建築物結果而言,這通常是商家名稱和地址。

針對想顯示單一 UI 元素的開發人員,建議使用 text。如果開發人員想顯示兩個獨立但相關的 UI 元素,可以改用 PlacePrediction.mainTextPlacePrediction.secondaryText
types
類型:  Array<string>
toPlace
toPlace()
參數:
傳回值:  Place
傳回此 PlacePrediction 的 Place 表示法。需要後續呼叫 Place.fetchFields 才能取得完整的 Place Details。

StringRange 類別

google.maps.places.StringRange 類別

識別指定文字內的子字串。

呼叫 const {StringRange} = await google.maps.importLibrary("places") 即可存取。請參閱 Maps JavaScript API 中的程式庫

endOffset
類型:  number
子字串最後一個 Unicode 字元的零基準偏移值 (不含)。
startOffset
類型:  number
子字串第一個 Unicode 字元的零基準偏移值 (含)。

FormattableText 類別

google.maps.places.FormattableText 類別

代表地點預測的文字。文字可以採用格式化或格式化。

呼叫 const {FormattableText} = await google.maps.importLibrary("places") 即可存取。請參閱 Maps JavaScript API 中的程式庫

matches
類型:  Array<StringRange>
字串範圍清單,用於識別 FormattableText.text 中與輸入要求相符的位置。範圍可用來設定 text 的特定部分格式。如果比對時是基於字串比對以外的條件 (例如拼字更正或音譯),則子字串可能不會與 AutocompleteRequest.input 完全相符。這些值是 FormattableText.text 的萬國碼 (Unicode) 字元偏移。範圍保證會依照遞增的偏移值排序。
text
類型:  string
可以原樣使用或採用 FormattableText.matches 格式的文字。