【发布时间】:2021-12-24 21:20:38
【问题描述】:
在我的 Firestore 中,我有一个代表地图上位置的文档列表。
我希望不仅在数据库中创建新文档时显示本地通知,而且还希望在该位置与我当前位置相距一定距离时显示本地通知。
目前我有一个流构建器,可以将位置加载到我的本地地图中,还有一个流监听器,用于在新文档上发出通知:
CollectionReference loc =
FirebaseFirestore.instance.collection('locations');
late Stream<QuerySnapshot> _locStream;
late StreamSubscription<QuerySnapshot> streamSub;
@override
void initState() {
super.initState();
_locStream = loc.snapshots();
streamSub = _locStream.listen((data) {
final snackBar = SnackBar(
content:
Text('New location added!'));
ScaffoldMessenger.of(context).showSnackBar(snackBar);
});
}
问题是流正在返回所有文档,而不仅仅是新文档,所以我不知道如何“隔离”新文档,更重要的是,如何获取它的值以便与它进行比较我现在的位置。
这样可以实现吗?
【问题讨论】:
标签: firebase flutter google-cloud-firestore stream