Autocomplete Data (new)

AutocompleteRequest 接口

google.maps.places.AutocompleteRequest 接口

请求 AutocompleteSuggestion.fetchAutocompleteSuggestions 的接口。

input
类型string
要搜索的文本字符串。
includedPrimaryTypes optional
类型Array<string> optional
添加了主要地点类型(例如“餐馆”或“加油站”)。

只有在此列表中包含其主要类型时,系统才会返回该地点。最多可以指定 5 个值。如果未指定任何类型,系统将返回所有地点类型。
includedRegionCodes optional
类型Array<string> optional
仅包含指定区域中的结果,最多可指定为 15 个 CLDR 双字符区域代码。空集不会限制结果。如果同时设置了 locationRestrictionincludedRegionCodes,结果将位于交叉路口区域。
inputOffset optional
类型number optional
input 的从零开始的 Unicode 字符偏移量,表示光标在 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 参数,或重复使用会话令牌,系统会按未提供会话令牌的情况为会话收费(每个请求均单独计费)。

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

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>}>
获取 AutocompleteSuggestions 的列表。
placePrediction
类型PlacePrediction optional
包含所返回结果的人类可读名称。对于场所结果,这通常是指商家名称和地址。

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
包含所返回结果的人类可读名称。对于场所结果,这通常是指商家名称和地址。

text 建议希望显示单个界面元素的开发者使用。如果开发者希望显示两个相互独立但彼此相关的界面元素,可以改用 PlacePrediction.mainTextPlacePrediction.secondaryText
types
类型Array<string>
https://developers.google.com/maps/documentation/places/web-service/place-types 中表格 A 或表格 B 中适用于此地点的类型列表。
toPlace
toPlace()
参数:无
返回值Place
返回此 PlacePrediction 的“地点”表示。之后需要调用 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 设置格式的文本。