Как сделать так, чтобы эта сворачивающаяся панель отображалась на моей карте Google? - PullRequest
1 голос
/ 01 августа 2020

Возникли проблемы с изучением тонкостей дизайна флаттера ... Кто-нибудь знает, как я могу совместить сворачивающуюся боковую панель навигации с моей картой Google? Я бы хотел, чтобы карта была справа от нее. У меня также есть несколько виджетов с плавающим текстом поверх моей карты в виде стеков. Если я удалю свою карту Google, панель отобразится и будет работать нормально. Его не видно при включенной моей карте.

return Stack(children: [
      Scaffold(
          key: _scaffoldKey,
          resizeToAvoidBottomPadding: true,
          appBar: AppBar(
            elevation: 0.0,
            backgroundColor: drawerBackgroundColor,
            title: Text(
              "Collapsing Navigation Drawer/Sidebar",
            ),
          ),
          body: Stack(children: <Widget>[
            Container(
              color: selectedColor,
            ),
            CollapsingNavigationDrawer(),
            Stack(children: <Widget>[
              Container(
                child: GoogleMap(
                    markers: Set<Marker>.of(markers.values),
                    initialCameraPosition:
                        CameraPosition(target: LatLng(lat, lng), zoom: 10.0),
                    myLocationEnabled: true,
                    compassEnabled: true,
                    myLocationButtonEnabled: true,
                    mapType: MapType.normal,
                    onMapCreated: (GoogleMapController controller) {
                      controller.setMapStyle(Utils.mapStyles);
                    }),
              ),

1 Ответ

1 голос
/ 01 августа 2020

Стек берет несколько дочерних элементов и упорядочивает их снизу вверх. Итак, первый элемент - самый нижний, а последний - самый верхний. Так что сначала разместите карту, а затем CollapsingNavigationDrawer

Stack(children: <Widget>[
            Stack(children: <Widget>[
              Container(
                child: GoogleMap(
                    markers: Set<Marker>.of(markers.values),
                    initialCameraPosition:
                        CameraPosition(target: LatLng(lat, lng), zoom: 10.0),
                    myLocationEnabled: true,
                    compassEnabled: true,
                    myLocationButtonEnabled: true,
                    mapType: MapType.normal,
                    onMapCreated: (GoogleMapController controller) {
                      controller.setMapStyle(Utils.mapStyles);
                    }),
              ),
              CollapsingNavigationDrawer(),
]
...