无法解析符号 'GeoFirestore'

Canot Resolve symbol 'GeoFirestore'

我正在 Android 平台上创建基于地图的应用程序。我在这个项目中使用 Firebase Firestore 作为后端数据库。我想在我的 Firestore 数据库中添加 GeoFire。我在我的 gradle 文件中添加了以下依赖项,以在我的项目中添加 Firestore 和 GeoFire:

implementation 'com.google.firebase:firebase-core:16.0.4'
implementation 'com.google.firebase:firebase-firestore:17.1.2'
implementation 'com.firebase:geofire-android:2.3.1'

但是在我添加

时成功 gradle 同步之后
CollectionReference geoFirestoreRef = FirebaseFirestore.getInstance().collection("my-collection");
GeoFirestore geoFirestore = new GeoFirestore(geoFirestoreRef);

它给出错误 'Unable to resolve GeoFirestore'

我不明白为什么会出现这个错误,尽管我已经在 gradle 文件中添加了所有必需的依赖项。还附上图片。

您的代码中的问题是您正在尝试使用 GeoFirestore library for Android but you are using a dependency for GeoFire for Android,这是完全不同的产品。 GeoFirestore 与 Cloud Firestore 配合使用,而 GeoFire 与 Firebase 实时数据库配合使用。

这也是您收到以下错误的原因:

Unable to resolve GeoFirestore

因为您正在尝试创建 GeoFirestore class 的对象,这是一个未导入的 class。为了解决这个问题,你需要在你的 build.gradle 文件中添加相应的 GeoFirestore 依赖:

implementation 'com.github.imperiumlabs:GeoFirestore-Android:v1.1.1'

并且在您的 build.gradle(项目)文件中:

allprojects {
    repositories {
        //...
        maven { url 'https://jitpack.io' }
    }
}

Here您可以找到更多信息。