【发布时间】:2020-11-16 14:18:27
【问题描述】:
所以,我想从我的数据库参考路径“驱动程序位置”中获取latitude 和longitude。但是,它什么也没发生,只是显示正常的谷歌地图而不触发位置。请帮忙!
public class StudentMapActivity extends FragmentActivity implements OnMapReadyCallback {
private GoogleMap mMap;
private DatabaseReference databaseReference;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_student_map);
FirebaseDatabase database = FirebaseDatabase.getInstance();
databaseReference = database.getReference("Driver Location");
// Obtain the SupportMapFragment and get notified when the map is ready to be used.
SupportMapFragment mapFragment = (SupportMapFragment) getSupportFragmentManager()
.findFragmentById(R.id.map);
mapFragment.getMapAsync(this);
}
@Override
public void onMapReady(final GoogleMap googleMap) {
mMap = googleMap;
databaseReference.addListenerForSingleValueEvent(new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
for (DataSnapshot child : dataSnapshot.getChildren()) {
String lat = child.child("latitude").getValue().toString();
String lng = child.child("longitude").getValue().toString();
double latitude = Double.parseDouble(lat);
double longitude = Double.parseDouble(lng);
LatLng latLng = new LatLng(latitude, longitude);
MarkerOptions markerOptions = new MarkerOptions()
.position(latLng)
.title("Bus is here");
mMap.addMarker(markerOptions);
mMap.moveCamera(CameraUpdateFactory.newLatLngZoom(latLng, 16));
}
}
@Override
public void onCancelled(@NonNull DatabaseError databaseError) {
}
});
}
}
Logcat:
2020-07-24 00:41:18.926 22586-22586/com.example.upmbus D/InputTransport: Input channel destroyed: '1df605 ', fd=100
2020-07-24 00:41:18.939 22586-23234/com.example.upmbus W/.example.upmbu: Accessing hidden method Lsun/misc/Unsafe;->getLong(Ljava/lang/Object;J)J (greylist,core-platform-api, linking, allowed)
2020-07-24 00:41:18.940 22586-23234/com.example.upmbus W/.example.upmbu: Accessing hidden method Lsun/misc/Unsafe;->putLong(Ljava/lang/Object;JJ)V (greylist, linking, allowed)
2020-07-24 00:41:18.942 22586-23234/com.example.upmbus W/.example.upmbu: Accessing hidden method Lsun/misc/Unsafe;->getObject(Ljava/lang/Object;J)Ljava/lang/Object; (greylist, linking, allowed)
2020-07-24 00:41:18.942 22586-23234/com.example.upmbus W/.example.upmbu: Accessing hidden method Lsun/misc/Unsafe;->getInt(Ljava/lang/Object;J)I (greylist, linking, allowed)
附加的数据库详细信息
【问题讨论】:
-
@AlexMamo 你能帮帮我吗?
-
嗨,诺贝尔,但问题是什么?这段代码中究竟有什么不符合您的预期?
-
地图打开但没有得到位置值也没有放置任何标记,只是一张普通地图@AlexMamo
-
我已成功存储经纬度,但使用提供的代码avobe无法检索。
-
请将您的数据库结构添加为 JSON 文件或至少是屏幕截图。
标签: java android firebase google-maps firebase-realtime-database