抽屉中的GoogleMap抖动

时间:2020-06-23 12:16:25

标签: google-maps flutter dart

我想将地图的大小限制为抽屉的一部分,并显示地图上标记的当前位置。这样,它停留在整个抽屉上,仅在我按位置符号时显示位置...

 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);
               },
          ),
          )])))

1 个答案:

答案 0 :(得分:0)

child:Column(children:[GoogleMap()])

通过这种方式,您可以在绘图中存储多个小部件,而不必占用地图的整个小部件。

您必须选择样式化GoogleMap()小部件

  1. 您可以在Google Map小部件中更改样式 2)您可以设置包含GooggleMap()的父窗口小部件的样式

对于列,这将是=>列(mainaxisalignmen:mainaxisalignment.center等。

列不是您唯一需要使用的窗口小部件,任何带有孩子的窗口小部件都可以成为抽屉的孩子