无法从Firebase获取标记

时间:2016-10-19 00:12:57

标签: java android google-maps firebase firebase-realtime-database

我无法从Firebase获取地图上的标记。我已经尝试了一些我发现的例子,但似乎无法让它发挥作用。我希望我在FireBase中存储的所有位置都在一张地图上。

代码:

public class AllJobsMapActivity extends  FragmentActivity implements OnMapReadyCallback {

    private DatabaseReference geoDatabase = FirebaseDatabase.getInstance().getReference("places");

    GoogleMap mapFragment;

    List<Marker> markerList = new ArrayList<>();

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_all_job_map);

        SupportMapFragment mapFragment = (SupportMapFragment) getSupportFragmentManager()
                .findFragmentById(R.id.map);

        mapFragment.getMapAsync(this);
    }


    @Override
    public void onMapReady(final GoogleMap googleMap) {
        geoDatabase.addListenerForSingleValueEvent(new ValueEventListener() {
            @Override
            public void onDataChange(DataSnapshot dataSnapshot) {
                for (DataSnapshot child : dataSnapshot.child("places").getChildren()) {
                    String latitude = child.child("lattitude").getValue().toString();
                    String longitude = child.child("longitude").getValue().toString();

                    double Latitude = Double.parseDouble(latitude);
                    double Longitude = Double.parseDouble(longitude);
                    String name = child.child("name").getValue().toString();
                    LatLng cod = new LatLng(Latitude, Longitude);
                    googleMap.addMarker(new MarkerOptions().position(cod).title(name));
                }
            }

            @Override
            public void onCancelled(DatabaseError firebaseError) {

            }
        });
    }
}

Firebase树:

0 个答案:

没有答案