2

我正在开发一个 android 应用程序,我想在其中保存带有GeoFire位置的数据,然后根据位置获取它。

问题是我不确定如何保存数据以及GeoFire位置,尽管我可以使用.push().setValue()方法保存它。

我实际上没有代码,因为我不知道如何做我想做的事。

请告诉我。

抱歉,如果问题似乎格式错误。我在这里仍然是初学者。

4

1 回答 1

0
String key_of_data= ref.child("feeds").push(data).getKey();

现在key_of_data变量包含提要数据的键。因此,要保存该数据,唯一的选择是使用 GeoFire 创建对该键的引用。所以key_of_data作为 的键给出geoFire

geoFire = new GeoFire(ref.child("user_location"));
geoFire.setLocation(key_of_data, new GeoLocation(lattitude, longitude));

这就是您保存数据的方式。要检索数据,请使用以下代码。

geoFire=newGeoFire(FirebaseDatabase.getInstance().getReference().child("users_location");
geoQuery = geoFire.queryAtLocation(geoLocation), 1);
geoQuery.addGeoQueryEventListener(new GeoQueryEventListener() {
@Override
public void onKeyEntered(String key, GeoLocation location) {
    //key is the key to the feed data.
}
};    

有关更多详细信息,请参阅此处的 Stack 帖子

于 2017-10-22T08:13:52.200 回答