【发布时间】:2019-09-30 07:27:02
【问题描述】:
我想计算两个人之间的距离并将它们写在网页上。当我在 html 上写值时,代码被推送不止一个,但我不希望这样。我要换新的
this.db.list("Users/subscribed/" + user.uid + "/members").snapshotChanges().subscribe(items => {
items.forEach(item => {
let container = {
lat: 0,
lng: 0,
distance: "0",
}
let child = item.payload.child("locations")
child.forEach(element => {
if (element.key === "lat") {
container.lat = element.toJSON() as number
}
else if (element.key == "lng") {
container.lng = element.toJSON() as number
}
})
this.fbGetLoc(user.uid).then(result => {
this.lat = result.val()
this.fbGetLoc2(user.uid).then(result2 => {
this.lng = result2.val()
})
}).then(() => {
container.distance = this.calculate(this.lat, this.lng, container.lat, container.lng) as any
})
this.MemberLocation.push(container)
})
})
<div class="list-group ; text-center " *ngFor="let distance of MemberLocation">
<a class="list-group-item pt-5">
<strong>Tahmini Uzaklık: {{distance.distance}} km
</strong>
</a>
</div>
【问题讨论】:
标签: angular typescript firebase firebase-realtime-database ngfor