我正在做一个Android应用程序,让等待上班族搭便车的私人车辆。我有2个应用程序,用于乘客,另一个用于驾驶员。我的问题是如何检索乘客的位置,保存在firebase中然后将其显示在我的驾驶员地图中。
这是我的firebase数据库结构
TRANSACTION
- Ag6AVcsrt4d4npaoBJfVO91Dffe2
- latlng
-latitude: 10.287503
-longitude: 123.863112
这在我的地图中
@Override
public void onMapReady(GoogleMap googleMap) {
mMap = googleMap;
mMap.setMapType(GoogleMap.MAP_TYPE_NORMAL);
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
if (ContextCompat.checkSelfPermission(this,
Manifest.permission.ACCESS_FINE_LOCATION)
== PackageManager.PERMISSION_GRANTED) {
buildGoogleApiClient();
mMap.setMyLocationEnabled(true);
}
} else {
buildGoogleApiClient();
mMap.setMyLocationEnabled(true);
我试图像这样检索
` btnRetrieve.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
databasePassenger.addChildEventListener(new ChildEventListener() {
@Override
public void onChildAdded(DataSnapshot dataSnapshot, String prevChildKey) {
LatLng newLocation = new LatLng(
dataSnapshot.child("TRANSACTION").child(firebaseUser.getUid()).child("latitude").getValue(),
dataSnapshot.child("TRANSACTION").child(firebaseUser.getUid()).child("longitude").getValue()
);
mMap.addMarker(new MarkerOptions()
.position(newLocation)
.title(dataSnapshot.getKey()));
}
@Override
public void onChildChanged(DataSnapshot dataSnapshot, String s) {
}
@Override
public void onChildRemoved(DataSnapshot dataSnapshot) {
}
@Override
public void onChildMoved(DataSnapshot dataSnapshot, String s) {
}
@Override
public void onCancelled(DatabaseError databaseError) {
}
});
}
});`