如何在Firebase中保存数据和GeoFire位置?

时间:2016-05-13 16:27:48

标签: android firebase firebase-realtime-database firebase-hosting geofire

我正在开发一个Android应用,我想用GeoFire位置保存数据,然后根据位置获取它。

问题在于我不确定如何将数据与GeoFire位置一起保存,但我可以使用.push().setValue()方法保存数据。

我实际上没有代码,因为我对如何做我想做的事情一无所知。

请告诉我。

抱歉,如果问题格式错误。我还是初学者。

1 个答案:

答案 0 :(得分:0)

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

现在key_of_data变量包含Feed数据的键。因此,要保存该数据,唯一的选择是使用GeoFire创建对此密钥的引用。因此,key_of_datageoFire的关键。

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.
}
};    

有关更多详细信息,请参阅此帖子HERE