Firebase 我在Firestore中有数据,并用值归档,但其中一些显示为null

Firebase 我在Firestore中有数据,并用值归档,但其中一些显示为null,firebase,flutter,dart,google-cloud-firestore,Firebase,Flutter,Dart,Google Cloud Firestore,我在firestore中有一个集合,我正在将数据从firestore提取到我的应用程序中,并将纬度和经度转换为address,它与其他文档一起工作正常,但其中一个文档向我显示了一个错误,该字段为空,但正如您所看到的,它有一个值 我总是在Firestore中遇到这个问题,所以有时我会删除文档并重新创建它,但每次我都很累,我的Firestore有什么问题? 有人能帮我吗 这是转换经纬度的方法 Future<String> gymLocation ; @override vo

我在firestore中有一个集合,我正在将数据从firestore提取到我的应用程序中,并将纬度和经度转换为address,它与其他文档一起工作正常,但其中一个文档向我显示了一个错误,该字段为空,但正如您所看到的,它有一个值

我总是在Firestore中遇到这个问题,所以有时我会删除文档并重新创建它,但每次我都很累,我的Firestore有什么问题? 有人能帮我吗

这是转换经纬度的方法

 Future<String> gymLocation ;
   @override
  void initState() {

 gymLocation = translate.getAddressFromLatLng(widget.gym.gym_region_lat_long.latitude,widget.gym.gym_region_lat_long.longitude);



Future<String> getAddressFromLatLng(double lat , double long) async {
 String stringAddress='';
 try {
  List<Placemark> p = await geolocator.placemarkFromCoordinates(lat, 
  long);
 final coordinates = new Coordinates(lat, long);
 var address = await 
Geocoder.local.findAddressesFromCoordinates(coordinates);
var first = address.first;
Placemark place = p[0];
final cor2 = await Geocoder.local.findAddressesFromQuery(place.name);
var ad2 = cor2.first;

stringAddress = first.addressLine;

  print(stringAddress +' current address');
  print('${first.featureName} ,\n${first.addressLine}');
  print('${ad2.coordinates}');
 //  return string_address;
} catch (e) {
print(e);
}
return stringAddress;
 }
其他文件很好用,但只适用于这个健身房拉沙德运动俱乐部,它有价值

Firestore中始终存在问题,当我使用创建集合并创建文档并为每个文档设置值时,一些文档显示为null,并向我发送此错误消息


平台异常(失败,失败,空)

一点代码片段可能会有所帮助。@Sukhi,我是对的。但我看到你把它作为一个答案加上去了。请习惯SO的工作方式。您必须生成一个,以便人们可以查看和帮助(而不是查看整个代码)您是否检查了快照/obj的内容是否正确?gymLocation=translate.getAddressFromLatLng(widget.gym.gym\u region\u lat\u long.lation,widget.gym.gym\u region\u lat\u long.longitude);
gymAddressContainter(gym_model gym) {
return FutureBuilder<String>(
future: gymLocation,
builder:(context, snapshot)
{
 if (snapshot.hasError) {
 return Center(child: Text('No data'));
 }
 else if (snapshot.hasData) {
   return Container(
    padding: EdgeInsets.all(8.0),
    child: Column(
      children: <Widget>[
        adressText(
            widget.gym.gym_address['g_phone'].toString(), Icons.phone,
            Colors.green),
        adressText(widget.gym.gym_address['g_email'], Icons.email,
            Colors.amber),
        adressText(widget.gym.gym_address['g_website'], Icons.public,
            Colors.blue),
        adressText(snapshot.data, Icons.location_on, Colors.pink)
      ],
     )
    );
  }
  else return Center(child:CircularProgressIndicator());
}

  );
  }
 gym_model.map(dynamic obj){
 this.gym_name = obj['gym_name'];
 this.gym_region = obj['gym_region'];
 this.gphoto= obj['gphoto'];
  this.gym_region_lat_long = obj['gym_region_lat_long'];
  this.gym_city_point = obj['gym_city_point'];

 this.gym_address['g_email']= obj['gym_address']['g_email'];
 this.gym_address['g_phone'] =obj['gym_address']['g_phone'];
 this.gym_address['g_website'] = obj['gym_address']['g_website'];