не работает 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,
),