GeoFire 数据有无效格式异常

GeoFire data has invalid format exception

我正在为我的 Android 应用设置 GeoFire。在开始从 Firebase 数据库检索数据时,出现以下异常。

There was an error getting the GeoFire location: DatabaseError: User code called from the Firebase Database runloop threw an exception: W/System.err: java.lang.Throwable: GeoFire data has invalid format: {lon=74.529964, lat=31.4479225}

显然,它正在从数据库中检索数据,但仍然抛出异常:(

我使用了以下代码来检索数据:

geoFire.getLocation("test1", new LocationCallback() {
        @Override
        public void onLocationResult(String key, GeoLocation location) {
            if (location != null) {
                System.out.println(String.format("The location for key %s is [%f,%f]", key, location.latitude, location.longitude));
            } else {
                System.out.println(String.format("There is no location for key %s in GeoFire", key));
            }
        }

        @Override
        public void onCancelled(DatabaseError databaseError) {
            System.err.println("There was an error getting the GeoFire location: " + databaseError);
        }
    });

由于我是 firebase 的新手,我是否缺少任何明显的东西?This is how my firebase database looks like

GeoFire 似乎没有像示例中那样使用键 latlon,或者 LatitudeLongitude,但是一些自定义编码属性 中的位置称为 "g"。 GeoFire保存位置的正确方法似乎是GeoFire提供的setLocation方法。

请参阅 How to save GeoFire coordinates along with other items in Firebase database? 讨论您的数据库中的结构应该是什么样子。