android - 当我单击 Google Map Flutter 上的标记时,我想显示模态底页
问题描述
class Peta extends StatefulWidget {
_PetaState createState() => _PetaState();}
class _PetaState extends State<Peta> {
Completer<GoogleMapController> _controller = Completer();
void initState() {super.initState();}
void _onMapCreated(GoogleMapController controller) {_controller.complete(controller);}
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(title: Text("PETA"),backgroundColor: Colors.lightGreenAccent[700],)
body: Stack(children: <Widget>[_peta(context),])
)
}
Widget _peta(BuildContext context) {
return Container(height: MediaQuery.of(context).size.height, width: MediaQuery.of(context).size.width,
child: GoogleMap(onMapCreated: _onMapCreated, mapType: MapType.normal,
initialCameraPosition: CameraPosition(target: LatLng(-1.265386, 116.831200), zoom: 14),
markers: {marker1, marker2},
)
);
}
}
Marker marker1 = Marker(markerId: MarkerId("TOKO 1"), position: LatLng(-1.277025, 116.829049),
infoWindow: InfoWindow(title: "TOKO MAKMUR"),
icon: BitmapDescriptor.defaultMarkerWithHue(BitmapDescriptor.hueGreen,),
onTap: () {
showModalBottomSheet(
context: context, /// this line is error
builder: (builder){return Container(......)}
);
}
)
那是我的代码。我想展示一些标有底页的地方的细节。我不知道如何将上下文传递给它。我已经尝试过类似问题的一些答案,但我也遇到了“onMarkerTapped”方法的麻烦。我已经用过其他的地图插件,它的工作,但地图的质量很差。请帮忙
解决方案
您的底部工作表模式应如下所示:
void _showModal() {
Future<void> future = showModalBottomSheet<void>(
context: context,
builder: (BuildContext context) {
return Container(
child: Wrap(
children: <Widget>[
ListTile(
leading: Icon(Icons.star),
title: Text("Favorite"),
),
ListTile(
leading: Icon(Icons.close),
title: Text("Cancel"),
),
],
),
);
},
);
future.then((void value) => _closeModal(value));
}
void _closeModal(void value) {
}
然后您可以通过 onTap 手势调用它:
onTap: () {
_showModal();
},
推荐阅读
- vb.net - 在 vb.net 中使用 Flurl
- python - Pandas datrafame 多行数据不一致
- python - 无法在同一行打印输出
- vue.js - setMethods 已弃用,将在未来版本中删除
- css - 使用 CSS 调整图像的剪切部分的大小
- javascript - 如何在 laravel 中创建 node_module?
- node.js - Sequelize 主应用程序中的 require models/index.js 并在模块文件中传递或 require
- python - Python中递归函数中的转发(?)参数
- javascript - 如何在 Vue 中获得 ReactJS prevProps 和 prevState 等效项
- bash - Bash 中的参数和函数