我有一个应用,我需要获取用户的朋友地理位置数据。我需要做的是:
1)将当前用户的节点循环到" friends"节点以获取所有用户的朋友
2)使用该数据,go loop" users / [[friend uid]]"对于每个朋友,从地理位置拉出lat和long以及朋友的显示名称
这应该是订阅事件,如果服务器中的地理位置更新,它也应该在应用程序中显示它/更新变量。
朋友节点结构如下:
friends
current user UID
random id (not needed)
friend 1 UID (needed)
random id (not needed)
friend 2 UID (needed)
etc
这里也是整个数据库结构的图片:
谢谢!
编辑:这是检索朋友的当前代码,我如何实现让每个朋友的地理位置重新获得?
friendsNode = firebase.database().ref('/friends');
....
getFriendsList() {
let friendsUID = [];
this.friendsNode.child(firebase.auth().currentUser.uid).on('value', (snapshot) => {
let allFriends = snapshot.val();
this.myFriends = [];
for (var i in allFriends)
friendsUID.push(allFriends[i].uid);
this.userService.getallusers().then((users) => {
this.myFriends = [];
for (var j in friendsUID)
for (var key in users) {
if (friendsUID[j] === users[key].uid) {
this.myFriends.push(users[key]);
}
}
this.events.publish('friends');
}).catch((err) => {
alert(err);
})
})
}