应用程序未显示其位置正在从Firebase检索的标记

时间:2018-11-17 15:36:05

标签: android firebase firebase-realtime-database

我想检索与用户名一起保存在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结构。

enter image description here

0 个答案:

没有答案