Чтобы решить эту проблему, используйте следующие строки кода:
DatabaseReference rootRef = FirebaseDatabase.getInstance().getReference();
DatabaseReference campaignsRef = rootRef.child("campaigns");
ValueEventListener valueEventListener = new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
for(DataSnapshot ds : dataSnapshot.getChildren()) {
double latitude = ds.child("location").child("latitude").getValue(Double.class);
double longitute = ds.child("location").child("longitute").getValue(Double.class);
Log.d(TAG, latitude ", " + longitute);
LatLng latLng = new LatLng(latitude, longitute);
//Do what you need to do with your LatLng object
}
}
@Override
public void onCancelled(@NonNull DatabaseError databaseError) {
Log.d(TAG, databaseError.getMessage()); //Don't ignore errors!
}
};
campaignsRef.addListenerForSingleValueEvent(valueEventListener);
Обратите внимание, что для создания объекта LatLng
необходимо выполнить цикл по объекту DataSnapshot
, чтобы получитьlatitude
и longitute
.Невозможно отобразить дочерние элементы, которые существуют под узлом location
, в объект LatLng
.Кроме того, LatLng
- это , а не a Поддерживаемый Firebase тип данных .