I am trying to query database using geoflutterfire. Everything seems to work well but when i query, i get this error: The latitude and longitudes are gotten programmatically from geolocator plugin, yet flutter throws the error below.
E/flutter ( 3310): [ERROR:flutter/lib/ui/ui_dart_state.cc(157)] Unhandled Exception: NoSuchMethodError: The getter 'latitude' was called on null.
E/flutter ( 3310): Receiver: null
E/flutter ( 3310): Tried calling: latitude
E/flutter ( 3310): #0 Object.noSuchMethod (dart:core-patch/object_patch.dart:53:5)
E/flutter ( 3310): #1 _DoctorsStreamState._animateToUser (package:firstaidpatient/serviceproviders_screen/doctors_stream.dart:296:30)
E/flutter ( 3310): <asynchronous suspension>
E/flutter ( 3310): #2 _DoctorsStreamState._onMapCreated.<anonymous closure> (package:firstaidpatient/serviceproviders_screen/doctors_stream.dart:268:7)
E/flutter ( 3310): #3 State.setState (package:flutter/src/widgets/framework.dart:1233:30)
E/flutter ( 3310): #4 _DoctorsStreamState._onMapCreated (package:firstaidpatient/serviceproviders_screen/doctors_stream.dart:267:5)
E/flutter ( 3310): #5 _GoogleMapState.onPlatformViewCreated (package:google_maps_flutter/src/google_map.dart:307:26)
E/flutter ( 3310): <asynchronous suspension>
E/flutter ( 3310): #6 AndroidViewController._create (package:flutter/src/services/platform_views.dart:636:15)
E/flutter ( 3310): <asynchronous suspension>
E/flutter ( 3310): #7 AndroidViewController.setSize (package:flutter/src/services/platform_views.dart:550:14)
E/flutter ( 3310): #8 RenderAndroidView._sizePlatformView (package:flutter/src/rendering/platform_view.dart:175:29)
E/flutter ( 3310): #9 RenderAndroidView.performResize (package:flutter/src/rendering/platform_view.dart:156:5)
E/flutter ( 3310): #10 RenderObject.layout (package:flutter/src/rendering/object.dart:1746:9)
E/flutter ( 3310): #11 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:111:13)
E/flutter ( 3310): #12 RenderObject.layout (package:flutter/src/rendering/object.dart:1767:7)
E/flutter ( 3310): #13 RenderStack.performLayout (package:flutter/src/rendering/stack.dart:556:15)
E/flutter ( 3310): #14 RenderObject.layout (package:flutter/src/rendering/object.dart:1767:7)
E/flutter ( 3310): #15 RenderConstrainedBox.performLayout (package:flutter/src/rendering/proxy_box.dart:266:13)
E/flutter ( 3310): #16 RenderObject.layout (package:flutter/src/rendering/object.dart:1767:7)
E/flutter ( 3310): #17 RenderPositionedBox.performLayout (package:flutter/src/rendering/shifted_box.dart:394:13)
E/flutter ( 3310): #18 RenderObject.layout (package:flutter/src/rendering/object.dart:1767:7)
E/flutter ( 3310): #19 MultiChildLayoutDelegate.layoutChild (package:flutter/src/rendering/custom_layout.dart:171:11)
E/flutter ( 3310): #20 _ScaffoldLayout.performLayout (package:flutter/src/material/scaffold.dart:484:7)
E/flutter ( 3310): #21 MultiChildLayoutDelegate._callPerformLayout (package:flutter/src/rendering/custom_layout.dart:240:7)
E/flutter ( 3310): #22 RenderCustomMultiChildLayoutBox.performLayout (package:flutter/src/rendering/custom_layout.dart:399:14)
E/flutter ( 3310): #23 RenderObject._layoutWithoutResize (package:flutter/src/rendering/object.dart:1630:7)
E/flutter ( 3310): #24 PipelineOwner.flushLayout (package:flutter/src/rendering/object.dart:887:18)
E/flutter ( 3310): #25 RendererBinding.drawFrame (package:flutter/src/rendering/binding.dart:402:19)
E/flutter ( 3310): #26 WidgetsBinding.drawFrame (package:flutter/src/widgets/binding.dart:884:13)
E/flutter ( 3310): #27 RendererBinding._handlePersistentFrameCallback (package:flutter/src/rendering/binding.dart:284:5)
E/flutter ( 3310): #28 SchedulerBinding._invokeFrameCallback (package:flutter/src/scheduler/binding.dart:1113:15)
E/flutter ( 3310): #29 SchedulerBinding.handleDrawFrame (package:flutter/src/scheduler/binding.dart:1052:9)
E/flutter ( 3310): #30 SchedulerBinding._handleDrawFrame (package:flutter/src/scheduler/binding.dart:968:5)
E/flutter ( 3310): #31 _rootRun (dart:async/zone.dart:1184:13)
E/flutter ( 3310): #32 _CustomZone.run (dart:async/zone.dart:1077:19)
E/flutter ( 3310): #33 _CustomZone.runGuarded (dart:async/zone.dart:979:7)
E/flutter ( 3310): #34 _invoke (dart:ui/hooks.dart:261:10)
E/flutter ( 3310): #35 _drawFrame (dart:ui/hooks.dart:219:3)
Could someone explain what the problem is? All my coordinates are correctly acquired and stored on firestore.
The query was called on initState and it gave the above error and don't produce any result on the google Map
_startQuery() async {
try {
// Get querying phone location
var pos = await geoLocator.getCurrentPosition();
double userLatitude = pos.latitude;
double userLongitude = pos.longitude;
// get center points from users location
GeoFirePoint center = geoflutterfire.point(
latitude: userLatitude, longitude: userLongitude);
stream = radius.switchMap((rad) {
//make a firestore reference
var ref = _firestore.collection('myLocation');
//query data from firestore
return geoflutterfire.collection(collectionRef: ref).within(
center: center, radius: rad, field: 'position', strictMode: true);
});
} catch (e) {
print(e);
}
}