我是Flutter的新手,遇到了谷歌地图插件的问题。我看了几个教程来获得相机的当前位置,其中大多数都使用GoogleMapController.cacameraPosition.target。我认为他们从控制器中删除了这个方法(因为它仍处于开发阶段(。有没有其他方法可以获得相机的当前位置?
如果您使用的是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
函数放在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)