Итак, у меня есть 2 класса
class MapsModel {
MapsModel._();
...
static void Function(VoidCallback) setState;
static GoogleMap googleMap = new GoogleMap(
markers: markers,
onMapCreated: (GoogleMapController controller) {
setState((){
log("Marker added");
markers.add(
Marker(
markerId: MarkerId("<MARKER_ID>"),
position: LatLng(45.726697, 25.521418)
)
);
});
},
);
}
и
class MapPage extends StatefulWidget {
MapPage({Key key}) : super(key: key);
@override
State<StatefulWidget> createState() => MapPageState();
}
class MapPageState extends State<MapPage> {
@override
Widget build(BuildContext context) {
MapsModel.setState = (VoidCallback callback){
setState(() {
callback();
});
};
return Scaffold(
body: MapsModel.googleMap
);
}
}
Итак, я хочу обновить маркеры карты из первого класса, используя пользовательскую функцию setState .
Проблема в том, что отображается даже сообщение: Marker Added, карта не добавляет маркер. Также при переходе на другую страницу и обратно добавляется маркер.