Autocomplete Data

AutocompleteSuggestion 类

google.maps.places.AutocompleteSuggestion class
library "places"

自动补全建议结果。

const {AutocompleteSuggestion} = await google.maps.importLibrary("places");
fetchAutocompleteSuggestions
fetchAutocompleteSuggestions(autocompleteRequest)
参数:
返回值:Promise<{suggestions:Array<AutocompleteSuggestion>}>
提取 AutocompleteSuggestions 列表。

如果请求中提供了 AutocompleteRequest.sessionToken,则在首次针对生成的 PlacePrediction 上由 PlacePrediction.toPlace 返回的每个 Place 调用 Place.fetchFields 时,系统会自动包含该会话令牌。
placePrediction
readonly
类型:PlacePrediction optional
包含返回结果的人类可读名称。对于场所结果,这通常是商家名称和地址。

如果在用于提取此 AutocompleteSuggestion 的 AutocompleteRequest 中提供了 AutocompleteRequest.sessionToken,那么在首次对调用 PlacePrediction.toPlace 返回的 Place 调用 Place.fetchFields 时,系统会自动添加相同的令牌。

AutocompleteRequest 接口

google.maps.places.AutocompleteRequest 接口

AutocompleteSuggestion.fetchAutocompleteSuggestions 的请求接口。

input
类型:string
要搜索的文本字符串。
futureOpeningBusinessesIncluded
可选
类型:boolean optional
包含尚未开业但预计未来会开业的商家的地点联想查询。
includedPrimaryTypes
可选
类型:Array<string> optional
包含的主要地点类型(例如“restaurant”或“gas_station”)。

只有在地点的主要类型包含在此列表中时,系统才会返回该地点。最多可以指定 5 个值。如果未指定任何类型,系统将返回所有地点类型。
includedRegionCodes
可选
类型:Array<string> optional
仅包含指定区域的结果,最多可指定 15 个 CLDR 双字符区域代码。空集不会限制结果。如果同时设置了 locationRestriction 和 includedRegionCodes,则结果将位于交集区域。
inputOffset
可选
类型:number optional
input 的 Unicode 字符偏移量(从零开始),表示 input 中的光标位置。光标位置可能会影响返回的联想查询。如果未指定,则默认为 input 的长度。
language
可选
类型:string optional
返回结果时所用的语言。默认采用浏览器的语言偏好设置。如果 input 中使用的语言与 language 不同,或者返回的地点没有从本地语言到 language 的翻译,则结果可能会采用混合语言。
locationBias
可选
类型:LocationBias optional
使结果偏向于指定位置。

locationBias 和 locationRestriction 中最多只能设置一项。如果两者均未设置,系统会根据 IP 地址对结果进行偏向,这意味着 IP 地址会被映射到不精确的位置,并用作偏向信号。
locationRestriction
可选
类型:LocationRestriction optional
将结果限制在指定位置。

locationBias 和 locationRestriction 中最多只能设置一项。如果两者均未设置,系统会根据 IP 地址对结果进行偏向,这意味着 IP 地址会被映射到不精确的位置,并用作偏向信号。
origin
可选
类型:LatLng|LatLngLiteral optional
用于计算到目的地(以 PlacePrediction.distanceMeters 形式返回)的测地距离的起点。如果省略此值,则不会返回测地距离。
pureServiceAreaBusinessesIncluded
可选
类型:boolean optional
如果该字段设为 true,则包含纯上门服务商家。纯上门服务商家是指为客户送货上门或提供上门服务,但不在自己的商家地址为客户提供服务的商家。例如,清洁服务类商家或管道工可能没有实体地址,也可能未在 Google 地图上显示营业地点。
region
可选
类型:string optional
地区代码,指定为 CLDR 双字符地区代码。这会影响地址格式、结果排名,还可能会影响返回的结果。这不会将结果限制在指定区域内。
sessionToken
可选
类型:AutocompleteSessionToken optional
一个令牌,用于标识自动补全会话,以便进行结算。通过 AutocompleteSessionToken 生成新的会话令牌。

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

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

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

AutocompleteSessionToken 类

google.maps.places.AutocompleteSessionToken class
library "places"

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

const {AutocompleteSessionToken} = await google.maps.importLibrary("places");
AutocompleteSessionToken
AutocompleteSessionToken()
参数:无
创建 AutocompleteSessionToken 的新实例。

PlacePrediction 类

google.maps.places.PlacePrediction class
library "places"

地点自动补全联想查询结果。

const {PlacePrediction} = await google.maps.importLibrary("places");
distanceMeters
readonly
类型:number optional
如果指定了 origin,则为从 origin 开始的测地线长度(以米为单位)。
mainText
readonly
类型:FormattableText optional
表示地点的名称。
placeId
readonly
类型:string
建议地点的唯一标识符。此标识符可用于接受地点 ID 的其他 API。
secondaryText
readonly
类型:FormattableText optional
表示用于进一步识别地点的其他消除歧义特征(例如城市或区域)。
text
readonly
包含返回结果的人类可读名称。对于场所结果,这通常是商家名称和地址。建议希望显示单个界面元素的开发者使用

text。如果开发者希望显示两个独立但相关的界面元素,则可能需要改用 PlacePrediction.mainText 和 PlacePrediction.secondaryText。
types
readonly
类型: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 class
library "places"

标识给定文本中的子字符串。

const {StringRange} = await google.maps.importLibrary("places");
endOffset
readonly
类型:number
子字符串最后一个 Unicode 字符的从零开始的偏移量(不含)。
startOffset
readonly
类型:number
子字符串的第一个 Unicode 字符的从零开始的偏移量(含)。

FormattableText 类

google.maps.places.FormattableText class
library "places"

表示地点预测结果的文本。文本可以按原样使用,也可以设置格式。

const {FormattableText} = await google.maps.importLibrary("places");
matches
readonly
类型:Array<StringRange>
一个字符串范围列表,用于标识输入请求在 FormattableText.text 中的匹配位置。这些范围可用于设置 text 的特定部分的格式。如果匹配是由字符串匹配以外的标准(例如拼写更正或音译)确定的,则子字符串可能与 AutocompleteRequest.input 不完全匹配。这些值是 FormattableText.text 的 Unicode 字符偏移量。这些范围保证按偏移值递增的顺序排列。
text
readonly
类型:string
可按原样使用或使用 FormattableText.matches 设置格式的文本。