此处地图-自动填充建议

时间:2020-10-23 10:57:33

标签: here-api

我正在研究使用Here Maps中的Autocomplete API以及uggestination.json端点。我的问题是,当用户键入字符时,每次按键时都会调用自动完成的API建议。这意味着对于每次按键,我都需要调用API。事实证明这将是非常昂贵的。假设我输入“伦敦”,它将调用API 6次。有一个更好的方法吗?另外,是否可以创建会话令牌的任何选项,使得我只为其中键入多个字符以生成搜索建议列表的会话令牌付费?

2 个答案:

答案 0 :(得分:1)

您可以采取一些措施来减少通话次数:

  1. 有些地方只有短名称,例如https://en.wikipedia.org/wiki/List_of_short_place_names,因此对于您的自动建议,您甚至可能不得不考虑单个字符的名称。因此,您可以考虑建立一个自动建议关键字的缓存,即说用户键入L,并且一次调用自动建议API,则可以将L作为键来缓存结果,然后对于下一个按键,请重复构建数据结构或根据您的要求存储数据,从而使API的匹配次数逐渐减少。 建立缓存后,您可以决定每10个调用左右刷新一次缓存。这将大大减少您对外部API的调用。 查找Trie数据结构。可能会有所帮助。

  2. 此处根据您对后端服务的请求数向您收费,因此就不可能按会话令牌收费。不过,如果您可以协商产品的成本,则可以与客户经理联系。

答案 1 :(得分:0)

您可以使用Javascript API轻松完成此操作:这里是example入门和here's自动建议Javascript API的文档页面。