首页 > 解决方案 > 使用谷歌自动完成时是否需要实现会话令牌

问题描述

据我了解,您可以使用 AutocompleteService 或 Autocomplete 来获得地点预测。出于计费目的,我知道您需要在 AutocompleteService 中提供唯一的会话令牌,但您是否必须对 Autocomplete 做同样的事情?

标签: javascriptgoogle-mapsgoogle-places-api

解决方案


为了避免混淆,Place Autocomplete是 Places 库的一项功能,Maps JavaScript API其中包含一项client-side服务。您可以将其用于需要用户交互的应用程序。而Place Autocomplete Service是一个 Web 服务 ( server-side),它返回位置预测以响应 HTTP 请求,而该请求可用于批处理。

两者都可以使用会话令牌,但optional. 如定价表中所示,可以单独按“每个会话”或“每个字符/请求”对 Places Autocomplete 收费。根据此优化指南

  • 自动完成 - 每个请求:非常适合单个条目就足够的用例,例如用户填写的邮寄地址表格。

  • 自动完成 - 每个会话:最好在需要多个条目时使用,例如搜索酒店或餐厅。

这里有几件事要记住:

  • 如果使用 Places Autocomplete 小部件(客户端),则会自动生成会话令牌。如果不使用小部件,则必须通过手动调用new google.maps.places.AutocompleteSessionToken()来手动生成会话令牌。
  • 要为 Web 服务使用生成适当的会话令牌,请参阅此处
  • 要保持会话令牌有效,请阅读本指南

推荐阅读