有没有办法查询firestore db并返回按距离(升序/降序)排序的结果。
https://firebase.google.com/docs/firestore/solutions/geoqueries
上面的文档GeoQuery返回范围内的文档,但即使在给出方向之后也不是按排序顺序返回的。
public Query getDocuments(MainActivity mActivity, GeoQueryBounds bounds) {
return FirebaseFirestore.getInstance()
.collection("user")
.whereEqualTo("type", Integer.valueOf("1"))
.orderBy("geoHash", Query.Direction.ASCENDING)
.startAt(bounds.startHash)
.endAt(bounds.endHash)
.limit(10);发布于 2021-02-27 03:47:48
这些库的工作方式意味着,根据定义,它们不会按距离顺序从数据库中获取结果。因此,如果任何库以距离顺序返回它们,那是因为它们对数据进行了后处理。
如果使用文档中的方法,则可以在应用程序代码中对其进行后处理。querying geohashes的代码示例包含一个使用GeoFireUtils.getDistanceBetween()确定距离的示例。
https://stackoverflow.com/questions/66391505
复制相似问题