1

这是 Firestore 的地理查询:https ://github.com/imperiumlabs/GeoFirestore-Android 但它不允许进一步排序。我想按最近和最著名的用户排序,我怎么能做这样的事情?还有其他可能的库吗?

4

1 回答 1

2

Geofire 已经在 Firestore 上做了一些看似不可能的事情:它对两个值(纬度和经度)执行范围查询。它通过创建一个 geohash 值来实现这一点,该值将纬度和经度组合成一个值,可用于选择彼此接近的一系列文档。

要允许另外选择另一个字段的范围,您必须找到一种方法将该其他字段的值组合到 Geohash 值中。这本质上意味着您必须找到一种方法来将名望(您的附加属性)的重要性表达为位置(距离)的函数,并基于此计算单个字段值。虽然这在技术上是可行的,但我怀疑是否有人已经做到了。

要了解位置过滤的工作原理(以及为什么添加额外字段并不像看起来那么简单),请查看:

于 2019-03-24T23:02:03.647 回答