我无法从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树: