使用GeoFirestore,我可以查询一个位置(经/纬度)以查看我的集合/数据库中的任何位置是否在某个半径内:

val collectionRef = FirebaseFirestore.getInstance().collection("locations")
val geoFirestore = GeoFirestore(collectionRef)

val location1 = GeoPoint(37.7832, -122.4056)
val location2 = GeoPoint(37.3832, -121.4056)
val geoQuery = geoFirestore.queryAtLocation(location1, 0.6)

但是,我想查询location1location2之间的第三个位置。

例如,假设location1是Melbourne Central,而location2是Mantra在公园上-我可以查询矩形内的位置吗?

android - 查询2个GeoPoint之间的位置-LMLPHP

最佳答案

GeoFirestore首先根据GeoHash查询文档。这将导致一个大致为矩形的形状,然后GeoFirestore将其在内存中减小为checking the actual distance of each document from the center请求的范围。

开箱即用不支持以矩形形状返回所有文档,但修改库以不进行距离过滤应该很容易。

10-07 20:04