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
一个从零开始的 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 参数或重复使用会话令牌,系统会按未提供会话令牌的情况为会话计费(每个请求均单独结算)。

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

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>}>
提取 AutocompleteSuggestion 列表。
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
类型:  FormattableText
包含返回结果的人类可读名称。对于地点搜索结果,此字段通常是商家名称和地址。

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