Flutter Firestore получает массив из Geopoint >> Экземпляр ‘GeoPoint’ <<

#firebase #flutter #google-cloud-firestore #geopoints

#firebase #flutter #google-облако-firestore #географические точки

Вопрос:

Я получаю эту ошибку («Экземпляр ‘GeoPoint), что я хочу получить список массивов Geopoint из Firestore, я все еще не знаю, как это решить, любая помощь будет оценена.

Изображение из Firestore (GeoPoint списка массивов)

Это моя модель класса для получения всего документа из Firestore

 class ModelLA{

  String nama, kode, alamat, creator, pass, foto;
  List<GeoPoint> titikLokasi;

  ModelLA.fromMap(Map<String, dynamic> data){
    nama = data['nama'];
    kode = data['kode'];
    alamat = data['alamat'];
    creator = data['creator'];
    pass = data['pass'];
    foto = data['foto '];
    titikLokasi = List.from(data['titikLokasi']);
  }

}
  

Вот как мне получить все данные

  Firestore.instance.collection('LA').getDocuments().then((value){
      value.documents.forEach((element) {
        if (value.documents.isNotEmpty){
          value.documents.forEach((element) async {
            ModelLA modelLA = ModelLA.fromMap(element.data);
          });
        }
      });
  

Возвращает ошибку:

[Экземпляр ‘GeoPoint’, Экземпляр ‘GeoPoint’, Экземпляр ‘GeoPoint’, Экземпляр ‘GeoPoint’, Экземпляр ‘GeoPoint’, Экземпляр ‘GeoPoint’, Экземпляр ‘GeoPoint’]

Комментарии:

1. пожалуйста, поделитесь своим другим кодом, где вы получаете Instance of 'GeoPoint'

2. @PeterHaddad готово, я уже обновил сообщение

3. Это не ошибка, вы сохранили экземпляры GeoPoint в базе данных и извлекаете их, они добавляются сюда titikLokasi = List.castFrom(data['titikLokasi']); ?

4. @PeterHaddad Кстати, я уже пытаюсь перейти с titikLokasi = List.castFrom(data[‘titikLokasi’]); на data[‘titikLokasi’], и ошибка говорит, что ‘Список’ не является подтипом типа ‘Список’

5. @PeterHaddad да, вы можете видеть мое изображение, которое я загрузил

Ответ №1:

Я уже нашел решение для извлечения всех данных из списка GeoPoint, спасибо всем, кто мне помогает, вот как я могу получить данные:

 Firestore.instance.collection('LA').getDocuments().then((value){
      value.documents.forEach((element) {
        if (value.documents.isNotEmpty){
          value.documents.forEach((element) async {
            ModelLA modelLA = ModelLA .fromMap(element.data);
            print('Data: ${modelLA.titikLokasi.map((e) =>
            print('lat: ${e.latitude}   long: ${e.longitude}'))}');
          });
        }
      });
    });
  

Обращение закрыто