获取保存在 Firebase 中的特定位置的经纬度数据集

Getting specific location's latitude and longitude data set saved in Firebase

在我的 Firebase 数据库中,我是这样设置的:

纬度和经度分别用01表示。我目前使用硬编码的方式获取纬度、经度和名称:

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 的变量 (01name) 的数据值,无需硬编码即可轻松获取它们.以后位置也会越来越多

我想你需要像下面这样的东西

需要为每个添加 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();

    }
});