【发布时间】:2017-06-01 04:21:09
【问题描述】:
我已将Geofire 坐标存储在数据库中,现在我正尝试使用childEventListener() 检索它们,如下所示:
mDatabase.child("geofire").child(key).child("l").addChildEventListener(new ChildEventListener() {
@Override
public void onChildAdded(DataSnapshot dataSnapshot, String s) {
if (dataSnapshot.getValue() != null) {
//error on line below
Map<Double, Double> newRequest = (Map<Double, Double>) dataSnapshot.getValue();
venueLatString = newRequest.get(0).toString();
venueLngString = newRequest.get(1).toString();
Toast.makeText(getBaseContext(), dataSnapshot.getValue().toString(), Toast.LENGTH_SHORT).show();
} else {
Toast.makeText(getBaseContext(), "NULLL", Toast.LENGTH_SHORT).show();
}
}
...
...
});
Geofire 坐标存储在数据库中,如下所示:
我收到此错误:java.lang.ClassCastException: java.lang.Double cannot be cast to java.util.Map 在上面指定的行。
这里出了什么问题,为什么会出现这个错误?
请告诉我。
【问题讨论】:
-
您是要获取整个地理位置还是仅获取特定的双精度值?
-
特定的双精度值...如问题中所示。
标签: android firebase firebase-realtime-database classcastexception geofire