我正在开发一个Android应用,我想用GeoFire
位置保存数据,然后根据位置获取它。
问题在于我不确定如何将数据与GeoFire
位置一起保存,但我可以使用.push().setValue()
方法保存数据。
我实际上没有代码,因为我对如何做我想做的事情一无所知。
请告诉我。
抱歉,如果问题格式错误。我还是初学者。
答案 0 :(得分:0)
String key_of_data= ref.child("feeds").push(data).getKey();
现在key_of_data
变量包含Feed数据的键。因此,要保存该数据,唯一的选择是使用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.
}
};
有关更多详细信息,请参阅此帖子HERE