想从 flutter cloud firestore 中的多个文档中获取特定的文档字段

问题描述

this image have the Database

我想抓取所有文档的经纬度并显示在颤振图(传单)中。

FlutterMap(
      options: MapOptions(
        center: latLng.LatLng(51.5,-0.09),zoom: 13.0,),layers: [
        TileLayerOptions(
            urlTemplate: "https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png",subdomains: ['a','b','c']),MarkerLayerOptions(
          markers: [
            Marker(
              width: 80.0,height: 80.0,point: latLng.LatLng(51.5,builder: (ctx) => Container(
                child: Icon(
                  Icons.circle,size: 30,color: dc,],);

我将第 15 行仅用作示例,我想访问所有用户的 lat long 。请帮助,并提前致谢

解决方法

  • 首先,您必须为您的 shopkeepers 获取文档。
  • 然后,遍历这些文档,提取您的 lat 和 lng 值,并将它们添加到列表中。

Future<List<LatLng>> getCordsFromFirebase() async {
List<LatLng> coordinatesList=[];
var results = await FirebaseFirestore.instance.collection('shopkeepers').get();

for (DocumentSnapshot item in results.docs){
coordinatesList.add(LatLng(item.data()['latitidue'],item.data()['longitude]));
 }
print('Length of cords list is: ' + coordinatesList.length.toString());//
return coordinatesList;
}