Autocomplete Data (new)

AutocompleteSuggestion

google.maps.places.AutocompleteSuggestion

自动补全建议结果。

通过调用 const {AutocompleteSuggestion} = await google.maps.importLibrary("places") 进行访问。
请参阅 Maps JavaScript API 中的库

fetchAutocompleteSuggestions
fetchAutocompleteSuggestions(autocompleteRequest)
参数: 
返回值:  Promise<{suggestions:Array<AutocompleteSuggestion>}>
获取 AutocompleteSuggestion 的列表。

如果请求中提供了 AutocompleteRequest.sessionToken,则在首次调用 Place.fetchFields 时,系统会自动在 PlacePrediction.toPlace 返回的每个 Place 中包含该会话令牌,并将其添加到生成的 PlacePrediction 中。
placePrediction
类型:  PlacePrediction optional
包含返回结果的简明易懂的名称。对于实体店搜索结果,这通常是商家名称和地址。

如果在用于提取此 AutocompleteSuggestion 的 AutocompleteRequest 中提供了 AutocompleteRequest.sessionToken,则在首次对通过调用 PlacePrediction.toPlace 返回的 Place 调用 Place.fetchFields 时,系统会自动包含同一令牌。

AutocompleteRequest 接口

google.maps.places.AutocompleteRequest 接口

针对 AutocompleteSuggestion.fetchAutocompleteSuggestions 的请求接口。

input
类型:  string
要搜索的文本字符串。
includedPrimaryTypes optional
类型:  Array<string> optional
包含主要地点类型(例如“restaurant”或“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
使结果偏向于指定位置。

最多只能设置 locationBiaslocationRestriction 中的一个。如果两者均未设置,结果将按 IP 地址进行偏向,这意味着 IP 地址将映射到不精确的位置并用作偏向信号。
locationRestriction optional
类型:  LocationRestriction optional
将结果限制在指定位置。

最多只能设置 locationBiaslocationRestriction 中的一个。如果两者均未设置,结果将按 IP 地址进行偏向,这意味着 IP 地址将映射到不精确的位置并用作偏向信号。
origin optional
类型:  LatLng|LatLngLiteral optional
用于计算到目的地的地理距离(以 PlacePrediction.distanceMeters 形式返回)的起点。如果省略此值,则不会返回地理距离。
region optional
类型:  string optional
地区代码,以 CLDR 双字符地区代码的形式指定。这会影响地址格式、结果排名,还可能会影响返回的结果。这不会将结果限制在指定区域内。
sessionToken optional
类型:  AutocompleteSessionToken optional
用于标识自动补全会话的令牌,以便进行结算。通过 AutocompleteSessionToken 生成新的会话令牌。

会话在用户开始输入查询内容时开始,并在用户选择地点并调用 Place.fetchFields 时结束。在每个会话中,用户可以输入多项查询内容,并最终调用一次 fetchFields。会话中每个请求所用的凭据必须属于同一 Google Cloud 控制台项目。会话结束后,令牌将失效;您的应用必须为每个会话生成一个新的令牌。如果您省略 sessionToken 参数或重复使用会话令牌,系统会按未提供会话令牌的情况为会话计费(每个请求均单独结算)。

如果在对 AutocompleteSuggestion.fetchAutocompleteSuggestions 的请求中提供了会话令牌,则在首次调用 fetchFields 时,系统会自动将同一令牌包含在通过对某个结果 AutocompleteSuggestion 调用 PlacePrediction.toPlace 而返回的 Place 中。

我们建议您遵循以下准则:
  • 针对所有“地点自动补全”调用使用会话令牌。
  • 为每个会话生成一个新的令牌。
  • 请务必为每个新会话传递唯一的会话令牌。针对多个会话使用同一令牌会导致每个请求被单独计费。

AutocompleteSessionToken

google.maps.places.AutocompleteSessionToken

表示用于跟踪自动补全会话的会话令牌。

通过调用 const {AutocompleteSessionToken} = await google.maps.importLibrary("places") 进行访问。
请参阅 Maps JavaScript API 中的库

AutocompleteSessionToken
AutocompleteSessionToken()
参数:无
创建 AutocompleteSessionToken 的新实例。

PlacePrediction

google.maps.places.PlacePrediction

地点自动补全预测的预测结果。

通过调用 const {PlacePrediction} = await google.maps.importLibrary("places") 进行访问。
请参阅 Maps JavaScript API 中的库

distanceMeters
类型:  number optional
如果指定了 origin,则为从 origin 开始的测地线的长度(以米为单位)。
mainText
类型:  FormattableText optional
表示地点的名称。
placeId
类型:  string
建议地点的唯一标识符。此标识符可用于接受地点 ID 的其他 API。
secondaryText
类型:  FormattableText optional
表示用于进一步标识地点的其他消除歧义的特征(例如城市或地区)。
text
类型:  FormattableText
包含返回结果的简明易懂的名称。对于实体店搜索结果,这通常是商家名称和地址。建议希望显示单个界面元素的开发者使用

text。如果开发者希望显示两个单独但相关的界面元素,可能需要改用 PlacePrediction.mainTextPlacePrediction.secondaryText
types
类型:  Array<string>
适用于相应地点的类型列表,来自 https://developers.google.com/maps/documentation/places/web-service/place-types 中的表 A 或表 B。
BetafetchAddressValidation
fetchAddressValidation(request)
参数: 
返回值:无
发送与相应自动补全会话关联的地址验证请求(在内部使用自动补全会话令牌填充请求)。系统不会自动包含来自 PlacePrediction 的任何地点信息 - 这是一种便捷方法,可帮助您管理自动补全会话。
toPlace
toPlace()
参数:无
返回值:  Place
返回相应 PlacePrediction 的 Place 表示形式。后续需要调用 Place.fetchFields 才能获取完整的地点详情。

如果在用于提取此 PlacePrediction 的 AutocompleteRequest 中提供了 AutocompleteRequest.sessionToken,则在调用 fetchFields 时会自动包含同一令牌。

或者,在使用 PlaceAutocompleteElement 时,对 PlacePrediction.toPlace 返回的 Place 进行的第一次 Place.fetchFields 调用将自动包含会话令牌。

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 设置格式的文本。