我想将地图的大小限制在抽屉的一部分,并显示地图上标记的当前位置。这样它就留在整个抽屉上,只在我按下位置符号时显示位置......
Widget _buildDrawer(BuildContext context) {
return Drawer(
child: Flex(
direction: Axis.horizontal,
children: [
Expanded(
child:GoogleMap(
mapType: MapType.normal,
myLocationEnabled: true,
initialCameraPosition: _currentPosition,
onMapCreated: (GoogleMapController controller) {
_controller.complete(controller);
},
))]));
}
。
currentPosition = CameraPosition(
bearing: 192.8334901395799,
target: LatLng(latitude, longitude),
tilt: 59.440717697143555,
zoom: 19.151926040649414);
也试过:但又是完整的
Drawer(
child: Container(
height: MediaQuery.of(context).size.height * 0.10,
width: MediaQuery.of(context).size.width * 0.10,
child: Row(
children: <Widget>[
Expanded(
flex: 70,
child: GoogleMap(
mapType: MapType.hybrid,
mapToolbarEnabled: false,
zoomControlsEnabled: false,
myLocationEnabled: true,
initialCameraPosition: _currentPosition,
onMapCreated: (GoogleMapController controller) async {
_controller.complete(controller);
},
),
)])))
child:Column(children: [GoogleMap((](
这样,您可以在绘制中存储多个微件,而无需让地图占用整个微件。
你必须选择谷歌地图((小部件的样式
- 您可以在谷歌地图小部件中更改样式 2(您可以设置包含GooggleMap((的父小部件的样式
对于列,这将是 => 列(主轴对齐人:主轴对齐.中心等。
列不是您必须使用的唯一小部件,任何带孩子的小部件都是作为抽屉子级的不错选择