保存在快照中的数据并将其传输到双

时间:2020-09-03 16:11:10

标签: flutter google-cloud-firestore

嗨,我想问一下如何从Firestore中检索数据并将其发送给Double。

这是我从Firestore检索数据的代码。

Firestore.instance
            .collection('locations')
            .snapshots()
            .listen((driverLocation){
          driverLocation.documents.forEach((dLocation){
            dLocation.data['latitude'] = latitude;
            dLocation.data['longitude'] = longitude;
            print(latitude);
          });
        });

我将其存储在dLocation内,当我print(dLocation.data)时,它将在Firestore中显示纬度和经度。但是,当我将其传递给double latitudedouble longitude时,它将返回null。

busStop.add(
          Marker(
            markerId: MarkerId('driverLocation')
            ,
            draggable: false,
            icon: BitmapDescriptor.defaultMarker,
            onTap: () {
            },
            position: LatLng(latitude, longitude),
          ));

然后,我想将double latitudedouble longitude中的数据传递到标记中,以便标记将相应地移动到Firestore中的纬度和经度。

这里发生的所有事情都在initState()中。

2 个答案:

答案 0 :(得分:1)

您已撤消作业

 Firestore.instance
                .collection('locations')
                .snapshots()
                .listen((driverLocation){
              driverLocation.documents.forEach((dLocation){
                latitude = dLocation.data['latitude'] ;
                longitude = dLocation.data['longitude']  ;
                print(latitude);
              });
            });

答案 1 :(得分:0)

尝试一下:

Firestore.instance
    .collection('locations')
    .snapshots()
    .listen((driverLocation) {
       driverLocation.documents.forEach((dLocation){
         var latitude = dLocation.data['latitude'];
         var longitude = dLocation.data['longitude'];
         print('latitude: $latitude, longitude: $longitude');
      });
   });