无法检索位置 GeoFire Firebase Android
Unable To Retrieve Location GeoFire Firebase Android
我正在尝试检索保存在 Firebase 上的 GeoFire 位置,但它返回空值。尝试使用全局和局部双变量保存位置经纬度,但仍然相同。
Common.worker_tracking_table = "WorkerTracking"
Common.workerType = "Carpenters"
已验证这些值不为空。
final DatabaseReference dbRef = FirebaseDatabase.getInstance().getReference().child(Common.worker_tracking_table).child(Common.workerType);
final GeoFire geoFire = new GeoFire(dbRef);
geoFire.getLocation(Common.workerId, new LocationCallback() {
@Override
public void onLocationResult(String key, GeoLocation location) {
if(location != null) {
Common.updatedLat = location.latitude;
Common.updatedLng = location.longitude;
}
}
@Override
public void onCancelled(DatabaseError databaseError) {
}
});
}
这是数据库:
这很奇怪,我什至无法解释这到底是怎么可能的,但我能够通过删除 if
语句来检索位置,让它像这样:
final DatabaseReference dbRef = FirebaseDatabase.getInstance().getReference().child(Common.worker_tracking_table).child(Common.workerType);
final GeoFire geoFire = new GeoFire(dbRef);
geoFire.getLocation(Common.workerId, new LocationCallback() {
@Override
public void onLocationResult(String key, GeoLocation location) {
Common.updatedLat = location.latitude;
Common.updatedLng = location.longitude;
}
@Override
public void onCancelled(DatabaseError databaseError) {
}
});
}
我正在尝试检索保存在 Firebase 上的 GeoFire 位置,但它返回空值。尝试使用全局和局部双变量保存位置经纬度,但仍然相同。
Common.worker_tracking_table = "WorkerTracking"
Common.workerType = "Carpenters"
已验证这些值不为空。
final DatabaseReference dbRef = FirebaseDatabase.getInstance().getReference().child(Common.worker_tracking_table).child(Common.workerType);
final GeoFire geoFire = new GeoFire(dbRef);
geoFire.getLocation(Common.workerId, new LocationCallback() {
@Override
public void onLocationResult(String key, GeoLocation location) {
if(location != null) {
Common.updatedLat = location.latitude;
Common.updatedLng = location.longitude;
}
}
@Override
public void onCancelled(DatabaseError databaseError) {
}
});
}
这是数据库:
这很奇怪,我什至无法解释这到底是怎么可能的,但我能够通过删除 if
语句来检索位置,让它像这样:
final DatabaseReference dbRef = FirebaseDatabase.getInstance().getReference().child(Common.worker_tracking_table).child(Common.workerType);
final GeoFire geoFire = new GeoFire(dbRef);
geoFire.getLocation(Common.workerId, new LocationCallback() {
@Override
public void onLocationResult(String key, GeoLocation location) {
Common.updatedLat = location.latitude;
Common.updatedLng = location.longitude;
}
@Override
public void onCancelled(DatabaseError databaseError) {
}
});
}