在 google_maps_flutter 中获取相机当前位置的问题

Issue with getting current position of camera in google_maps_flutter

我是 Flutter 的新手,我遇到了 google 地图插件的问题。为了获得相机的当前位置,我看了几个教程,其中大部分使用的是 GoogleMapController.cameraPosition.target。我认为他们从控制器中删除了这个方法(因为它仍处于开发阶段)。有没有其他方法可以获取相机的当前位置?

如果您使用的是 google_maps_flutter 软件包:

GoogleMap 小部件具有 onCameraMove 功能,即 returns 在拖动地图或移动相机时 CameraPosition

为此,您需要创建一个名为 _getCameraPosition(CameraPosition cameraPosition 的回调函数,该函数将在调用 onCameraMove 时调用。例如:

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

然后,您需要将 _getCameraPosition 函数放到 GoogleMap 小部件的 onCameraMove 字段中,如下所示:

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

因此,您将在调试控制台中得到一个 LatLng 值。例如:

cameraPosition: LatLng(-33.8940124943736, 151.2027569487691)