【发布时间】:2021-11-27 04:17:18
【问题描述】:
我正在使用 google_maps_flutter 包,并且 myLocationButton 的缩放级别在按下时设置为我的上一个缩放级别。我想在按下 myLocationButton 时重置缩放级别。
这是谷歌地图的代码;
GoogleMap(
padding: EdgeInsets.only(bottom: _mapBottomPadding),
mapType: MapType.normal,
initialCameraPosition: _baseLocation,
myLocationButtonEnabled: true,
myLocationEnabled: true,
zoomControlsEnabled: true,
zoomGesturesEnabled: true,
// minMaxZoomPreference: const MinMaxZoomPreference(12, 14),
polylines: _polylineSet,
markers: _markersSet,
onMapCreated: (GoogleMapController controller) async {
if (!_controller.isCompleted) {
//first calling is false
//call "completer()"
_controller.complete(controller);
// setState(() {});
} else {
//other calling, later is true,
//don't call again completer()
}
// _controller.complete(controller);
_googleMapController = controller;
// Set Initial Camera Position
setCameraPosition(
position: locationData.getCurrentAddress.position
as Position);
setMapBounds();
setState(() {});
},
),
之前设置相机位置时,缩放停留在最后一个缩放级别,我想在单击 myLocationButton 时将其休息。
setMapBounds();方法调用设置取决于地图边界的缩放并调用下面的代码,当我单击 myLocationButton 时,这可能会导致高缩放级别并且缩放级别在调用后仍然存在。
_googleMapController!
.animateCamera(CameraUpdate.newLatLngBounds(latLngBounds, 70));
如何在为相机设置动画后重置缩放级别?
【问题讨论】:
标签: flutter google-maps-flutter