У меня есть данные в Firestore, и они хранятся со значениями, но некоторые из них отображаются как пустые - PullRequest
0 голосов
/ 25 февраля 2020

У меня есть коллекция в firestore, и я извлекаю данные из firestore в свое приложение и транслирую широту и долготу по адресу, и он работает нормально с другими документами, но один из документов показывает мне ошибку, что это поле имеет значение null, но оно имеет значение, как вы можете видеть

enter image description here

Я всегда сталкиваюсь с этой проблемой в 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;
 }

, и это метод для отображения адреса в текстовом виджете

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'];

Другие документы работают нормально, но только с этим спортивным клубом Rashad, и имеют значение ..

Всегда возникает проблема в Firestore, когда я создаю коллекцию с и создаю документы и помещаю значения для каждого документа, некоторые документы отображаются как нулевые, и выдает мне сообщение об ошибке

PlatformException (ошибка , Failed, null)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...