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

问题描述 投票:2回答:1

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

问题是我不知道如何将数据与GeoFire位置一起保存,尽管我可以使用.push().setValue()方法保存它。

我实际上没有代码,因为我不知道怎么做我想要的。

请告诉我。

对不起,如果问题格式错误。我还是个初学者。

android firebase firebase-realtime-database firebase-hosting geofire
1个回答
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.
}
};    

有关更多详细信息,请参阅此堆栈文章qazxsw poi

© www.soinside.com 2019 - 2024. All rights reserved.