如何在抖动中获取Firestore数据

时间:2020-03-25 00:09:31

标签: firebase flutter dart google-cloud-firestore

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

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

不确定如何解决此问题。我的Firebase Cloud Firestore有一个包含4个文档的列表,每个文档都有一个名为GeoPoint的{​​{1}}字段,每个文档都有一个手工编码的纬度和经度。

geopoint

1 个答案:

答案 0 :(得分:1)

该错误消息表明GeoPoint object是不可迭代的,这是正确的。我不确定您期望>>> b'\xc1\xbf'.decode('utf8') Traceback (most recent call last): File "<stdin>", line 1, in <module> UnicodeDecodeError: 'utf-8' codec can't decode byte 0xc1 in position 0: invalid start byte >>> b'\xe0\x81\xbf'.decode('utf8') Traceback (most recent call last): File "<stdin>", line 1, in <module> UnicodeDecodeError: 'utf-8' codec can't decode byte 0xe0 in position 0: invalid continuation byte >>> b'\xf0\x80\x81\xbf'.decode('utf8') Traceback (most recent call last): File "<stdin>", line 1, in <module> UnicodeDecodeError: 'utf-8' codec can't decode byte 0xf0 in position 0: invalid continuation byte >>> b'\x7f'.decode('utf8') '\x7f' 从那种意义上返回什么。

如果您希望从List.from(doc.data['geopoint'])中获取经度和纬度,则必须在代码中显式访问这些属性。但是,那么我不确定您的GeoPoint中的keyvalue会变成什么。