firebase 我的dart函数只向List中添加一条记录

kmbjn2e3  于 2022-12-14  发布在  其他
关注(0)|答案(1)|浏览(112)

此函数仅从firebase添加一条记录,但根据我的条件,它应添加条件为真的所有记录
功能:

final Set<Marker> _markers = <Marker>{}; //My marker List

Future<void> markSetss() async {
QuerySnapshot querySnapshot = await FirebaseFirestore.instance
    .collection('stations')
    .where('norequest', isGreaterThanOrEqualTo: 5)
    .get();

List<Map<String?, dynamic>> results = querySnapshot.docs
    .map((doc) => {
          _markers.add(
            Marker(
              markerId: MarkerId(doc['norequest'].toString()),
              position: LatLng(doc['coor'].latitude, doc['coor'].longitude),
            ),
          ),
        } as Map<String, dynamic>)
    .toList();
}

Firebase记录:第一次

kqqjbcuj

kqqjbcuj1#

因为您为标记设置了相同的MarkerId。它应该唯一。
在您情况下:

markerId: MarkerId(doc['norequest'].toString()),

根据您提供的数据,doc['norequest']与所有值相同,即10
尝试使每个标记markerId唯一。您可以使用任何唯一的值。或者您可以合并2个值

markerId: MarkerId('${(doc['norequest']}-${(doc['place']}'),

这样,每个标记将具有不同的ID,并且不会相互替换

相关问题