Java 正在尝试从firebase数据库获取纬度和经度
我有一个firebase数据库看起来像 作为图像中的突出显示,我想获取纬度和经度 为此,我使用了以下代码:Java 正在尝试从firebase数据库获取纬度和经度,java,android,firebase-realtime-database,Java,Android,Firebase Realtime Database,我有一个firebase数据库看起来像 作为图像中的突出显示,我想获取纬度和经度 为此,我使用了以下代码: family_code_ref.child("family members").addListenerForSingleValueEvent(new ValueEventListener() { @Override public void onDataChange(@NonNull DataSnapshot snapshot) {
family_code_ref.child("family members").addListenerForSingleValueEvent(new ValueEventListener() {
@Override
public void onDataChange(@NonNull DataSnapshot snapshot) {
for (DataSnapshot ds1 : snapshot.getChildren()) {
//Toast.makeText(context, ds1.getKey(), Toast.LENGTH_SHORT).show();
for (DataSnapshot ds2 : ds1.getChildren()) {
if (ds2.exists()){
//Toast.makeText(getContext(), ds1.getKey(), Toast.LENGTH_SHORT).show();
//PlaceDetails placeDetails = ds2.getValue(PlaceDetails.class);
Double lat = (ds2.child("latitude").getValue(Double.class));
Double lan = (ds2.child("longitude").getValue(Double.class));
Toast.makeText(context, String.valueOf(lat), Toast.LENGTH_SHORT).show();
//LatLng location=new LatLng(lat,lan);
//googleMap.addMarker(new MarkerOptions().position(location).title(ds1.child("name").getValue(String.class))).setIcon(BitmapDescriptorFactory.fromBitmap(smallMarker));
//googleMap.animateCamera(CameraUpdateFactory.newLatLngZoom(location, 13));
}
}
}
}
@Override
public void onCancelled(@NonNull DatabaseError error) {
}
});
问题:我的问题是,当我制作lat值的Toast时,它将显示正确的值,但当我在LatLng中使用这些数据时,它将给出一个错误,如下所示:
java.lang.NullPointerException: Attempt to invoke virtual method 'double java.lang.Double.doubleValue()' on a null object reference
at com.selfhelpindia.familymap.people$2.onDataChange(people.java:139)
at com.google.firebase.database.Query$1.onDataChange(Query.java:179)
at com.google.firebase.database.core.ValueEventRegistration.fireEvent(ValueEventRegistration.java:75)
at com.google.firebase.database.core.view.DataEvent.fire(DataEvent.java:63)
at com.google.firebase.database.core.view.EventRaiser$1.run(EventRaiser.java:55)
at android.os.Handler.handleCallback(Handler.java:873)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loop(Looper.java:227)
at android.app.ActivityThread.main(ActivityThread.java:7234)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:503)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:887)
谢谢大家!!
对不起,英语不好 请有人回答我的问题。