这是 Firestore 的地理查询:https ://github.com/imperiumlabs/GeoFirestore-Android 但它不允许进一步排序。我想按最近和最著名的用户排序,我怎么能做这样的事情?还有其他可能的库吗?
问问题
872 次
1 回答
2
Geofire 已经在 Firestore 上做了一些看似不可能的事情:它对两个值(纬度和经度)执行范围查询。它通过创建一个 geohash 值来实现这一点,该值将纬度和经度组合成一个值,可用于选择彼此接近的一系列文档。
要允许另外选择另一个字段的范围,您必须找到一种方法将该其他字段的值组合到 Geohash 值中。这本质上意味着您必须找到一种方法来将名望(您的附加属性)的重要性表达为位置(距离)的函数,并基于此计算单个字段值。虽然这在技术上是可行的,但我怀疑是否有人已经做到了。
要了解位置过滤的工作原理(以及为什么添加额外字段并不像看起来那么简单),请查看:
- 我在 Firestore 上关于地理过滤的演讲视频
- Jeff使用 Firestore的更简洁的实时地理查询视频和文章
- Firebase/GeoFire - 当地最受欢迎的项目
于 2019-03-24T23:02:03.647 回答