Android 如何从Firebase数据库在Google地图上绘制多个标记?
我正试图从Firebase数据库中获取坐标,并在谷歌地图上绘制标记 这是我目前在谷歌地图上的代码:Android 如何从Firebase数据库在Google地图上绘制多个标记?,android,google-maps,firebase-realtime-database,google-maps-markers,Android,Google Maps,Firebase Realtime Database,Google Maps Markers,我正试图从Firebase数据库中获取坐标,并在谷歌地图上绘制标记 这是我目前在谷歌地图上的代码: mDatabase= FirebaseDatabase.getInstance().getReference().child("Markers"); mDatabase.addListenerForSingleValueEvent(new ValueEventListener(){ @Override public void onDataChange(DataS
mDatabase= FirebaseDatabase.getInstance().getReference().child("Markers");
mDatabase.addListenerForSingleValueEvent(new ValueEventListener(){
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
String alatLng= (String) dataSnapshot.child("coordinates").getValue();
String[] blatLng = alatLng.split(",");
double blatitude = Double.parseDouble(blatLng[0]);
double blongitude = Double.parseDouble(blatLng[1]);
LatLng clatLng = new LatLng(
blatitude,
blongitude
);
mMap.addMarker(new MarkerOptions()
.position(clatLng)
.icon(BitmapDescriptorFactory.fromResource(R.drawable.marker7)));
}
@Override
public void onCancelled(DatabaseError databaseError) {
}
});
我的数据库如下所示:
Markers
-UID
coordinates: ("55,55")
-UID2
coordinates:("66,66")
我的坐标值位于每个用户的uid下。
我相信它不起作用,因为坐标值在另一个子项下,但我不确定。可以使用帮助,谢谢这样做,它对我来说就像是一个咒语,我在firebase中有一个节点以设备名命名,有两个子纬度和经度。类似这样,它对我来说就像是一个咒语,我在firebase中有一个节点以设备名命名,有两个子纬度和经度
Lat = (String) dataSnapshot.child("Latitude").getValue().toString();
longi = (String) dataSnapshot.child("Longitude").getValue().toString();
Toast.makeText(getApplicationContext(), Lat + longi, Toast.LENGTH_SHORT).show();
m2= mMap.addMarker(new MarkerOptions().position(new LatLng(Double.parseDouble(Lat),Double.parseDouble(longi))).title("My Location"));
mMap.setMaxZoomPreference(20);
LatLng latLng = new LatLng(Double.parseDouble(Lat), Double.parseDouble(longi));
mMap.moveCamera(CameraUpdateFactory.newLatLng(latLng));