根据AutoCompleteSupportFragment中的距离对搜索结果进行排序

问题描述

我正在检查此链接中所述的类似结果,它适用于服务器端 Google Places Api sort by distance

我需要根据我与移动android的最近距离对地点进行排序。 但是,我在api中看不到任何 rankby distance

在Android中,对于自动完成片段还有其他方法

解决方法

根据官方说法,他们的documentation不支持自动完成功能的按距离排序功能。这不仅适用于Android的地方信息自动完成功能,而且适用于Javascript(客户端)和web service(服务器端)。

但是,可能的解决方法是(取决于您的用例),但要昂贵得多,它是利用Distance Matrix API并根据其结果创建自己的自动完成功能。因此,想法是:

  1. 使用位置自动完成功能,默认行为是为每个字符提供5个建议位置。
  2. 获取这5个地址的每个地方的ID,然后对它们所有人进行距离矩阵请求,以获取彼此之间的距离。
  3. 在文本框中执行一个事件,然后在按距离排序的下拉列表中提供这些地址。像this

您可能还想考虑提出一项功能请求,要求将该功能添加到他们的public issue tracker上。以下是指导您参考的链接:https://developers.google.com/maps/support