我使用firebase数据库来保存我的坐标。
这就是我的数据库的样子:
我正在通过令牌保存数据:
String token = FirebaseInstanceId.getInstance().getToken();
if (token == null) return;
databaseReference = FirebaseDatabase.getInstance().getReference(token);`
所以我需要访问坐标并将标记添加到地图
我在onMapReady方法的valueEventListener中执行它:
DatabaseReference ref = FirebaseDatabase.getInstance().getReference(FirebaseInstanceId.getInstance().getToken());
ref.addValueEventListener(new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
double allLat = (double) dataSnapshot.child("lat").getValue();
double allLng = (double) dataSnapshot.child("lng").getValue();
mMap.addMarker(new MarkerOptions().position(new LatLng(allLat, allLng)).title("Пользователь"));
}
@Override
public void onCancelled(DatabaseError databaseError) {
Toast.makeText(MapsActivity.this, "Не найдены пользователи", Toast.LENGTH_SHORT).show();
}
});
但它只为我设置了标记,我如何从我的数据库中访问所有用户?
答案 0 :(得分:2)
您必须在QList<T> myList;
myList.reserve(vector.size());
for(size_t i = 0, l = vector.size(); i < l; ++i)
myList << vector[i];
:
onDataChange()