1

我尝试使用 GeoFireStore 来设置、获取和查询位置。

我首先尝试使用以下方法设置位置:

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

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

这一切都很好,并在我的数据库中创建了以下内容:

在此处输入图像描述

现在,我尝试使用 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.

请问有什么想法吗?

谢谢

4

1 回答 1

0

我的图书馆也有这个问题。在查看源代码时,我在这里看到了一个小错误

所以我提出了一个带有修复的拉取请求。您可以使用 fork 链接或克隆存储库并使用以下命令修复第 192 行:

if (geoPoint != null)
于 2020-06-08T11:49:32.650 回答