1

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

4

1 回答 1

1

如果您正在使用该google_maps_flutter软件包:

GoogleMap小部件具有在拖动地图或移动相机时onCameraMove返回的功能。CameraPosition

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

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

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

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)
于 2020-07-22T04:32:00.250 回答