繁体   English   中英

如何在flutter中获取firestore数据

[英]How to get firestore data in flutter

当我在 initState() 中调用 readLocationData() 时,我的代码收到此错误:

未处理的异常:“GeoPoint”类型不是“Iterable”类型的子类型。

不知道如何解决这个问题。 我的 firebase Cloud Firestore 有一个包含 4 个文档的列表,每个文档都有一个名为geopointGeoPoint字段,每个文档都有一个手工编码的纬度和经度。

  Future<void> readLocationData() async {


    var query = await Firestore.instance.collection('bakeries').getDocuments();

    List<Map<dynamic, dynamic>> mainList = List<Map<dynamic, dynamic>>();

    query.documents.forEach((doc) {

      List<Map<dynamic, dynamic>> values = List.from(doc.data['geopoint']);
      print('geopoint' + values.toString() +'\n');

    });

    for(var i=0; i < mainList.length; i++) {
      Map<dynamic, dynamic> map = mainList[i];
      GeoPoint geopoint = map['geopoint'];
  print(geopoint.latitude.toString()+','+ geopoint.longitude.toString());
  }

  }

错误消息表明GeoPoint对象不可迭代,这是正确的。 我不确定您希望List.from(doc.data['geopoint'])在这个意义上返回什么。

如果您希望从GeoPoint获取纬度和经度,则必须在代码中显式访问这些属性。 但是事件然后我不确定Map<dynamic, dynamic>keyvalue会变成什么。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM