这是我的代码。但不行。我得到零值。
我想要只获得纬度经度值..
mLocationRef = FirebaseDatabase.getInstance().getReference().child("districsubdepot").child("Jaffna");
mLocationRef.addChildEventListener(new ChildEventListener() {
@Override
public void onChildAdded(DataSnapshot dataSnapshot, String s) {
Double lt = (dataSnapshot.child("latitude").getValue(Double.class));
Double lo=(dataSnapshot.child("logitude").getValue(Double.class));
Toasty.success(getApplicationContext(), "value" + lt+lo).show();
}
}
最后我想用这些纬度经度绘制折线。怎么做?
答案 0 :(得分:0)
除非使用多个查询,否则无法获得部分值。 Firebase将数据存储为大型json文件(并且就像这样)。这意味着它尊重json标准。
在标准的json中,除非使用高级标准和技术(例如jsonpath),否则无法检索绑定到多个键的数据。
答案 1 :(得分:0)
您缺少深入了解ID为"LANrjuA.....sBJ"
它是节点"Jaffna."
所以基本上你应该将你的引用更新为:
mLocationRef = FirebaseDatabase.getInstance().getReference().child("districsubdepot").child("Jaffna").child("LANrjuA.....sBJ");
显然硬编码ID不是最佳实践,你应该动态设置/绑定/传递它,但这是关于你正在构建的流程 - 而不是这里的主要故事。
希望它有所帮助!