获取保存在 Firebase 中的特定位置的经纬度数据集
Getting specific location's latitude and longitude data set saved in Firebase
在我的 Firebase 数据库中,我是这样设置的:
纬度和经度分别用0
和1
表示。我目前使用硬编码的方式获取纬度、经度和名称:
Firebase locationRef = mRootRef.child("loc");
locationRef.addValueEventListener(new com.firebase.client.ValueEventListener() {
@Override
public void onDataChange(com.firebase.client.DataSnapshot dataSnapshot) {
Double latitude = dataSnapshot.child("0").getValue(Double.class);
Double longitude = dataSnapshot.child("1").getValue(Double.class);
String name = dataSnapshot.child("name").getValue(String.class);}
@Override
public void onCancelled(FirebaseError firebaseError) {
throw firebaseError.toException();
}
});
现在我设置我的数据,如图所示:
如何获取 loc1 和 loc2 的变量 (0
、1
和 name
) 的数据值,无需硬编码即可轻松获取它们.以后位置也会越来越多
我想你需要像下面这样的东西
需要为每个添加 getChildren() 它会给出你在 loc 下的所有位置
您也可以在其他数组中获取该信息
Firebase locationRef = mRootRef.child("loc");
locationRef.addValueEventListener(new com.firebase.client.ValueEventListener() {
@Override
public void onDataChange(com.firebase.client.DataSnapshot dataSnapshot) {
for (DataSnapshot snapm: dataSnapshot.getChildren()) {
Double latitude = snapm.child("0").getValue(Double.class);
Double longitude = snapm.child("1").getValue(Double.class);
String name = snapm.child("name").getValue(String.class);}
}
@Override
public void onCancelled(FirebaseError firebaseError) {
throw firebaseError.toException();
}
});
在我的 Firebase 数据库中,我是这样设置的:
纬度和经度分别用0
和1
表示。我目前使用硬编码的方式获取纬度、经度和名称:
Firebase locationRef = mRootRef.child("loc");
locationRef.addValueEventListener(new com.firebase.client.ValueEventListener() {
@Override
public void onDataChange(com.firebase.client.DataSnapshot dataSnapshot) {
Double latitude = dataSnapshot.child("0").getValue(Double.class);
Double longitude = dataSnapshot.child("1").getValue(Double.class);
String name = dataSnapshot.child("name").getValue(String.class);}
@Override
public void onCancelled(FirebaseError firebaseError) {
throw firebaseError.toException();
}
});
现在我设置我的数据,如图所示:
如何获取 loc1 和 loc2 的变量 (0
、1
和 name
) 的数据值,无需硬编码即可轻松获取它们.以后位置也会越来越多
我想你需要像下面这样的东西
需要为每个添加 getChildren() 它会给出你在 loc 下的所有位置 您也可以在其他数组中获取该信息
Firebase locationRef = mRootRef.child("loc");
locationRef.addValueEventListener(new com.firebase.client.ValueEventListener() {
@Override
public void onDataChange(com.firebase.client.DataSnapshot dataSnapshot) {
for (DataSnapshot snapm: dataSnapshot.getChildren()) {
Double latitude = snapm.child("0").getValue(Double.class);
Double longitude = snapm.child("1").getValue(Double.class);
String name = snapm.child("name").getValue(String.class);}
}
@Override
public void onCancelled(FirebaseError firebaseError) {
throw firebaseError.toException();
}
});