【发布时间】:2020-04-29 01:20:49
【问题描述】:
我正在尝试使用 Geo fire for android 获取用户位置。我试图获取用户的经度和纬度并将其保存在 firebase 数据库中,但我没有运气。
下面是我的代码。谁能告诉我我做错了什么?
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_after_registration);
setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_NOSENSOR);
overridePendingTransition(R.anim.slide_in, R.anim.slide_out);
savebutton=findViewById(R.id.save);
String uid = FirebaseAuth.getInstance().getCurrentUser().getUid();
DatabaseReference rootRef = FirebaseDatabase.getInstance().getReference();
DatabaseReference update = rootRef.child("Users").child(uid);
GeoFire geoFire=new GeoFire(rootRef);
geoFire.getLocation("location", new LocationCallback() {
@Override
public void onLocationResult(String key, GeoLocation location) {
if(location!=null){
Double longi = location.longitude;
Double lat = location.latitude;
update.child("longitude").setValue(longi);
update.child("latitude").setValue(lat);
}
}
@Override
public void onCancelled(DatabaseError databaseError) {
}
});
【问题讨论】:
-
错误是什么
-
@PeterHaddad 我没有收到任何错误,只是数据库中没有显示经度和纬度
-
@GCode22 节点的结构可能不像预期的那样。
标签: java android firebase firebase-realtime-database geofire