在 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)
我是 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)