DarshanGowda0 / GeoFlutterFire

:fire:GeoFlutterFire:fire: is an open-source library that allows you to store and query firestore documents based on their geographic location.
https://youtu.be/MYHVyl-juUk
MIT License
305 stars 261 forks source link

GeoFlutterFire Flutter plugin for Firestore returning null value when called “.within” method #105

Open saipavankumar-muppalaneni opened 4 years ago

saipavankumar-muppalaneni commented 4 years ago

I have mock data on firestore under a collection called locations, and under the field 'position' I have geopoint data, I have carefully uploaded a few locations, but the function below returns no geopoint data. Function initialized from init state.

@override void initState() { super.initState(); markerform2(); // below function }

The function which has to make a list of markers

void markerform2() {
    CollectionReference collection = firestore.collection('locations');
    GeoFirePoint center = geo.point(latitude: 14.505, longitude: 78.43);
    Stream<List<DocumentSnapshot>> stream =
        geo.collection(collectionRef: collection).within(
              center: center,
              field: 'position',
              radius: 10000,
            );

    stream.listen((List<DocumentSnapshot> documentList) {
      documentList.forEach(
        (e) {
          final double latitude = e.data['position']['geopoint'].latitude();
          final double longitude = e.data['position']['geopoint'].longitude;

          allMarkers.add(
            Marker(
              markerId: MarkerId(e.toString()),
              position: LatLng(latitude, longitude),
            ),
          );
          print(allMarkers.length);
        },
      );
    });
  }

the error goes like this


E/flutter (14367): Receiver: null
E/flutter (14367): Tried calling: *(1000)
E/flutter (14367): #0      Object.noSuchMethod**  (dart:core-patch/object_patch.dart:53:5)```
**E/flutter (14367): #1      GeoFireCollectionRef.within.<anonymous closure>.<anonymous closure> 
package:geoflutterfire/src/collection.dart:131**
E/flutter (14367): #2      Sort._insertionSort  (dart:_internal/sort.dart:71:36)
E/flutter (14367): #3      Sort._doSort  (dart:_internal/sort.dart:60:7)
E/flutter (14367): #4      Sort.sort  (dart:_internal/sort.dart:35:5)
E/flutter (14367): #5      ListMixin.sort  (dart:collection/list.dart:341:10)
**E/flutter (14367): #6      GeoFireCollectionRef.within.<anonymous closure> 
package:geoflutterfire/src/collection.dart:128**
E/flutter (14367): #7      _MapStream._handleData  (dart:async/stream_pipe.dart:229:31)
E/flutter (14367): #8      _ForwardingStreamSubscription._handleData  (dart:async/stream_pipe.dart:166:13)
E/flutter (14367): #9      _rootRunUnary  (dart:async/zone.dart:1192:38)
E/flutter (14367): #10     _CustomZone.runUnary  (dart:async/zone.dart:1085:19)
E/flutter (14367): #11     _CustomZone.runUnaryGuarded  (dart:async/zone.dart:987:7)
E/flutter (14367): #12     _BufferingStreamSubscription._sendData  (dart:async/stream_impl.dart:339:11)
E/flutter (14367): #13     _BufferingStreamSubscription._add  (dart:async/stream_impl.dart:266:7)
E/flutter (14367): #14     _SyncStreamControllerDispatch._sendData  (dart:async/stream_controller.dart:779:19)
E/flutter (14367): #15     _StreamController._add  (dart:async/stream_controller.dart:655:7)
E/flutter (14367): #16     _StreamController.add  (dart:async/stream_controller.dart:597:5)
**E/flutter (14367): #17     CombineLatestStream._buildController.<anonymous closure>.<anonymous

There are questions similar to this on stack overflows, but no one answered them.
shinewanna commented 4 years ago

Same problem