如何用Firebase返回x个最近的人



是否可以从Flutter中的云消防库数据库中查询一定数量的最近位置?geoflatterfire包似乎只允许您查询半径内的位置。唯一的解决方案是慢慢增加半径,直到找到可接受的用户数量?这听起来像是一个非常不干净的解决方案。是否有其他包或方法可以为您提供此功能?

由于Geo*Fire包的工作性质,它们无法返回X最接近的结果。

常见模式:

  1. 从一个合理的范围开始,客户端根据距离对结果进行排序,然后返回顶部的X
  2. 如果得到的结果太少,请使用较大的范围重试

在Firestore中增加范围并不像您想象的那样昂贵,因为在第一次地理查询之后,较小范围的文档将已经在客户端缓存中。

最新更新