我想检索与用户名一起保存在firebase中的位置,并在其他活动中将其显示为标记。我可以使用用户名存储纬度经度。但是,它没有按要求检索。我已经尝试了所有方法和所有解决方案,但无法检测到错误。以下是我的位置检索代码。这次请尝试帮助我,我将非常感激。
DatabaseReference dbRef = FirebaseDatabase.getInstance().getReference().child("ServiceProvidersLocations").child("Locations").child(userid);
dbRef.addValueEventListener(new ValueEventListener() {
@Override
public void onDataChange(@NonNull DataSnapshot dataSnapshot) {
for (DataSnapshot ds : dataSnapshot.getChildren()) {
Locations loci=ds.getValue(Locations.class);
Double lati=loci.getLatitude();
Double longitude=loci.getLongitude();
String pname=loci.getUserName();
/* Double lati = Double.valueOf(ds.child("latitude").getValue(Locations.class).toString());
Double longitude = Double.valueOf(ds.child("longitude").getValue(Locations.class).toString());
String pname = ds.child("Locations").child("UserName").getValue(Locations.class).toString();*/
LatLng latLng = new LatLng(lati, longitude);
Marker marker = mMap.addMarker(new MarkerOptions()
.position(latLng)
.title(pname)
.snippet(pname)
.icon(BitmapDescriptorFactory.defaultMarker(BitmapDescriptorFactory.HUE_BLUE)));
marker.showInfoWindow();
mMap.setOnMarkerClickListener(new GoogleMap.OnMarkerClickListener() {
@Override
public boolean onMarkerClick(Marker marker) {
/* Intent intent=new Intent(LocationMapsActivity.this, UsersListR.class);
startActivity(intent);*/
return true;
}
});
}
}
@Override
public void onCancelled(@NonNull DatabaseError databaseError) {
}
});
这是我的firebase结构。