GeoFireStore getLocation返回null

时间:2020-05-07 18:42:42

标签: java android firebase google-cloud-firestore geofirestore

我试图使用GeoFireStore来设置,获取和查询位置。

我首先尝试通过以下方式设置setLocation:

geoFirestoreRef = FirebaseFirestore.getInstance().collection("Locations");
geoFirestore = new GeoFirestore(geoFirestoreRef);

geoFirestore.setLocation( auth.getUid(), new GeoPoint(Lat_Coordinate,Lon_Coordinate) );

一切正常,并在我的数据库中创建了以下内容:

enter image description here

现在,我尝试使用以下方法获取getLocation以查看其是否正常工作:

geoFirestore.getLocation( auth.getUid(), new GeoFirestore.LocationCallback() {
    @Override
    public void onComplete(GeoPoint geoPoint, Exception e) {
        Log.d("ERROR", "Error getting documents: "  + e);

    }
} );

出于某种原因,无法获得任何可以在数据库中看到此位置的信息。

我得到一个例外:java.lang.NullPointerException: Location doesn't exist

请问有什么想法吗?

谢谢

1 个答案:

答案 0 :(得分:0)

我的图书馆也有这个问题。在查看源代码时,我看到了一点mistake here

所以我做了一个pull request with the fix。您可以使用fork链接,也可以克隆存储库并使用:

if (geoPoint != null)