'Flutter converting variable to Lat & Lng

i have function which gets user phone location, and i want to set Marker on this location.

The question is :

How i can type to LatLng() location of user's phone.

What i tried? :

When i type there var locationMessage there is an error:

2 positional argument(s) expected, but 1 found

  void getCurrentLocation() async {
    var position = await Geolocator.getCurrentPosition(
        desiredAccuracy: LocationAccuracy.high);
    var lastPosition = await Geolocator.getLastKnownPosition();

    print(lastPosition);

    setState(() {
      locationMessage = "${position.altitude}, ${position.longitude}";
    });
  }
GoogleMap(
            markers: _markers,
            initialCameraPosition: _kGooglePlex,
            onMapCreated: (GoogleMapController controller) {
              _controller.complete(controller);
              setState(() {
                _markers.add(Marker(
                    icon: mapMarker,
                    markerId: const MarkerId("marker-1"),
                    position: LatLng(//HOW TO INSERT HERE USER'S LOCATION)));
              });
            },
          ),


Solution 1:[1]

Instead of declaring locationMessage with String type use Position type.

so instead of

 var position = await Geolocator.getCurrentPosition(
            desiredAccuracy: LocationAccuracy.high);

replace with

locationMessage = await Geolocator.getCurrentPosition(
            desiredAccuracy: LocationAccuracy.high);

Then here

........
........
........
    setState(() {
      _markers.add(Marker(
      icon: mapMarker,
      markerId: const MarkerId("marker-1"),
      position: LatLng(locationMessage.latitude, locationMessage. longitude)));///PASS LAT AND LONG
    });
........
........
........

Solution 2:[2]

I would suggest doing something like this:

  1. create _currentLocation var:

    LatLng _currentLocation;

  2. update value inside getCurrentLocation() / setState():

    _currentLocation = LatLng(position.latitude, position.longitude);

  3. inside _markers.add use:

    position: _currentLocation

  4. You should initialize _currentLocation value inside initState() by calling getCurrentLocation():

      @override
      void initState() {
        getCurrentLocation();
        super.initState();
      }

Note: if you are using google_maps_flutter package and you want to show the user position, you can set the myLocationEnabled property to true:

GoogleMap(
   myLocationEnabled: true,
   ...

Sources

This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.

Source: Stack Overflow

Solution Source
Solution 1
Solution 2