Search code examples
fluttergoogle-maps-flutter

Issue with getting current position of camera in google_maps_flutter


I'm a novice in Flutter, and I encountered an issue with google maps plugin. I watched a couple of tutorials in order to get the current position of the camera and Most of them was using GoogleMapController.cameraPosition.target. I think they deleted this method from the controller(Since it is still on the development stage). Is there any other way of getting the current position of the camera?


Solution

  • If you are using the google_maps_flutter package:

    The GoogleMap widget have the onCameraMove function that returns the CameraPosition while dragging the map or moving the camera.

    To do this, you'll need to create a callback function called _getCameraPosition(CameraPosition cameraPosition which will be invoked when onCameraMove is called. For example:

    void _getCameraPosition(CameraPosition cameraPosition) {
       // You can do whatever you want with cameraPosition here
       log("cameraPosition: " + cameraPosition.target.toString());
    }
    

    Then, you'll need to put the _getCameraPosition function to the onCameraMove field on GoogleMap widget, like this:

    GoogleMap(
       onCameraMove: _getCameraPosition,    // pass it here
       onMapCreated: _onMapCreated,
       initialCameraPosition: CameraPosition(
           target: LatLng(-33.86882, 151.209296),
           zoom: 12,
       ),
     ),
    

    As a result, you will get a LatLng value in the debug console. For example:

    cameraPosition: LatLng(-33.8940124943736, 151.2027569487691)