gpt4 book ai didi

google-maps - google_maps_flutter问题,标记onTap(){}不起作用

转载 作者:行者123 更新时间:2023-12-03 04:28:12 24 4
gpt4 key购买 nike

好的,我对Flutter语言很陌生,我必须使用带有标记的google maps制作一个应用程序,当您在标记的信息窗口中单击时,它必须打开一个包含该标记的信息的新页面,因此我建立了新页面,将标记放置在 map 上,并使用onTap:(){}移至新页面,但是当我运行该应用程序并单击信息窗口时,什么也没有发生。

首先,它向我显示了上下文行中的一个错误,我编写了一个“BuildContext context”。并且错误已解决,但“信息”窗口仍然不起作用,我尝试移动“BuildContext上下文”;在标记之外,但仍然相同,我试图在Internet上找到其他解决方案,但是我发现的唯一解决方案是在此站点上,我不知道该解决方案是什么,或者对我不起作用。

Marker servicioej= Marker(
markerId: MarkerId('marker1'),
position: LatLng(-32.3162695, -58.0949139),
infoWindow: InfoWindow(
title: 'Restaurante',
onTap: () {
BuildContext context;
Navigator.push(
context,
MaterialPageRoute(builder: (context) => ServicioStateful()),
);
}),
icon: BitmapDescriptor.defaultMarkerWithHue(BitmapDescriptor.hueBlue),
);

我只需要单击标记将其移到另一页,就从昨天开始就遇到了这个问题,我可以提供一些帮助,抱歉,如果遇到一些拼写错误,我会尽力使它易于理解xD

最佳答案

BuildContext方法提供的build引用保存到变量中,然后将该上下文变量传递给Navigator

class MapScreen extends StatefulWidget{
...
}

class MapScreenState extends State<MapScreen>{
BuildContext _myContext;

@override
Widget build(BuildContext context) {
_myContext = context;

Marker servicioej= Marker(
markerId: MarkerId('marker1'),
position: LatLng(-32.3162695, -58.0949139),
infoWindow: InfoWindow(
title: 'Restaurante',
onTap: () {
Navigator.push(_myContext, MaterialPageRoute(builder: (context) => ServicioStateful()));
}),
icon: BitmapDescriptor.defaultMarkerWithHue(BitmapDescriptor.hueBlue),
);

return Scaffold(
...
);
}
}

关于google-maps - google_maps_flutter问题,标记onTap(){}不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57779895/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com