0

I am trying to get my current position as my initial position in google maps flutter.. but I always get error that says like this...initialCameraPosition !=null is not true so far I have tried using async await to get my current location.. here is the code

static LatLng _initialPosition;

@override
  void initState() {
    _getLocation();
    super.initState();
  }
void _getLocation() async {
    LocationData currentLocation;
    currentLocation = await location.getLocation();
    setState(() {
      _initialPosition =
          LatLng(currentLocation.latitude, currentLocation.longitude);
    });
  }

static final CameraPosition initialLocation = CameraPosition(
    target: _initialPosition,
    zoom: 14.4746,
  );

is there something that I need to add from my code? and here is my widget

GoogleMap(
            mapType: MapType.normal,
            initialCameraPosition: initialLocation,
            markers:...,
            circles:...,
            onMapCreated: (GoogleMapController controller) {
              _controller = controller;
            },
          ),
wahyu
  • 1,679
  • 5
  • 35
  • 73

1 Answers1

1

_getLocation is an async function. It may not have populated _initialPosition when you start GoogleMap.

Give _initialPosition a starting value and then update GoogleMap when _initialPosition has been updated.

Glen
  • 619
  • 4
  • 9