我可以通过 GeoPoint 值查询 Firestore 数据库以查找本地地点吗?

Can I query a Firestore database by GeoPoint values to find local places?

我想知道这是否可行,因为我已经搜索了很长时间,但没有找到任何文档表明可以从 Android 中的 [=] 中针对 Firestore 中存储的 GeoPoint 进行查询13=]?

Can I query a Firestore database by GeoPoint values to find local places?

当然可以。如果你想通过特定的 GeoPoint 对象查询 Firestore,那么你应该 perform a Query。假设您在数据库中有一个文档,该文档具有 GeoPoint 类型的 属性,例如,纬度为 51.5074,经度为 0.1278,则需要以下查询:

FirebaseFirestore rootRef = FirebaseFirestore.getInstance();
CollectionReference placesRef = rootRef.collection("places");
Query geoQuery = placesRef.whereEqualTo("geoPoint", new GeoPoint(51.5074, 0.1278));
geoQuery.get().addOnCompleteListener(/* ... */);

但是,如果您想查询附近的位置,请注意 Firebase 最近推出 Geo queries,这意味着您可以获得落入特定半径范围内的文档。