我目前正在使用GeoFirestore for Android过滤一些数据。通过减小半径,当然可以减少检索到的文档数量。但是,我想使用 Firestore 提供的复合查询功能进一步过滤相同的数据,或者简单地使用 限制读取次数limit()
,以便 1)避免下载/读取不需要的文档,以及 2)改善我的用户体验在时间和资源方面。
我知道这个问题已经被问过好几次了(例如,here)。尽管如此,Firestore 正在迅速发展——因此我想问一下是否有关于这个主题的更新。
我目前正在使用GeoFirestore for Android过滤一些数据。通过减小半径,当然可以减少检索到的文档数量。但是,我想使用 Firestore 提供的复合查询功能进一步过滤相同的数据,或者简单地使用 限制读取次数limit()
,以便 1)避免下载/读取不需要的文档,以及 2)改善我的用户体验在时间和资源方面。
我知道这个问题已经被问过好几次了(例如,here)。尽管如此,Firestore 正在迅速发展——因此我想问一下是否有关于这个主题的更新。
https://github.com/mbramwell1/GeoFire-Android上有一个库
使用以下公式存储每个文档的位置(库本身提供了一种方法):
degreeMatch = (latitudeDegrees + 90) * 180 + longitudeDegrees
我做了一些结合一些运算符(包括限制和数组包含)的测试,它似乎返回了正确的结果。