У меня есть коллекция в firestore, и я извлекаю данные из firestore в свое приложение и транслирую широту и долготу по адресу, и он работает нормально с другими документами, но один из документов показывает мне ошибку, что это поле имеет значение null, но оно имеет значение, как вы можете видеть
Я всегда сталкиваюсь с этой проблемой в 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)