не работает showModalBottomSheet для маркеров в OSM на Flutter

Идея такова: пытаюсь привязать нижнюю панель (showModalBottomSheet) к каждому маркеру на карте (делаю это через имеющееся АПИ), в эту нижнюю панель собираюсь передавать либо текст, либо список, который будет подтягивать информацию об остановке из АПИ. Уже перепробовал многие вещи: пытался сделать эту нижнюю панель/меню отдельной функцией и передать ее в обработчик событий на иконку, то есть чтобы по onPressed отрабатывалось открытие нижней панели, также попробовал писать напрямую внутри onPressed, как представлено в примере внизу, но все равно ничего не отрабатывается.

Насколько я знаю, и как я понял/вычитал на различных форумах, то infowindow на OSM нет, как например, на Гугл картах v2.

Потому вопрос: что я делаю не так? Мне кажется, я не замечаю что-то очевидное.

Искал примеры и туториалы, и везде showModalBottomSheet отрабатывается, но, естественно, в примерах используется всего лишь один маркер.

вот мой код

body: FutureBuilder<List<Stops>>(
            future: futureStops,
            builder: (context, snapshot) {
              if (snapshot.hasData) {
                listStops = snapshot.data;
                listStops.forEach((element) {
                  allMarkers = listStops
                      .map((e) => Marker(
                            point: latLng.LatLng(e.stLat, e.stLong),
                            width: 10,
                            height: 10,
                            builder: (ctx) => IconButton(
                              icon: Icon(
                                Icons.pin_drop,
                                color: Colors.red,
                              ),
                              onPressed: () => showModalBottomSheet(context: context, builder: (builder){
                                return Container(
                                  color: Colors.white,
                                  child: ListView.builder(itemCount: listStops == null ? 0 : listStops.length,
                                      itemBuilder: (context, index){
                                        Stops listDec = listStops[index];
                                        return Card(
                                          child: ListTile(
                                            title: Text(listDec.stTitle),
                                            subtitle: Text(listDec.stDesc),
                                            leading: Icon(Icons.account_box_rounded, color: Colors.green,),
                                          ),
                                        );
                                      },),
                                );
                              },),
                            ),
                          ),)
                      .toList(growable: true); 
                },);
                return Container(
                  child: FlutterMap(
                    options: MapOptions(
                      center: latLng.LatLng(48.707103, 44.516939),
                      zoom: 15.0,
                    ),
                    layers: [
                      TileLayerOptions(
                          urlTemplate:
                              "https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png",
                          subdomains: ['a', 'b', 'c']),
                      MarkerLayerOptions(
                        markers: allMarkers,
                      ),

Ответы (0 шт):