我的问题是,当我启动应用程序时,我的地图以一种方式出现,然后在从底部导航栏选项卡传递时,当我返回时,它会完全重新绘制。
我认为这是块和状态图的问题。
我需要知道解决方案是什么,这样它就不会被重绘,也就是说,如果我将地图留在一个位置并踏入选项卡,当我回来时,它会看起来我离开它的地方。
我的地图集团:
class MapaBloc extends Bloc<MapaEvent, MapaState> {
MapaBloc() : super(new MapaState());
GoogleMapController _mapController;
void initMapa(GoogleMapController controller) {
{
this._mapController = controller;
this._mapController.setMapStyle(jsonEncode(testMapTheme));
add(OnMapaListo());
}
}
void moverCamara(LatLng destino) {
final cameraUpdate = CameraUpdate.newLatLng(destino);
this._mapController?.animateCamera(cameraUpdate);
}
@override
Stream<MapaState> mapEventToState(MapaEvent event) async* {
if (event is OnMapaListo) {
yield state.copyWith(mapaListo: true);
}
}
}
我的地图事件:
@immutable
abstract class MapaEvent {}
class OnMapaListo extends MapaEvent {}
我的地图状态
@immutable
class MapaState {
final bool mapaListo;
MapaState({this.mapaListo = false});
MapaState copyWith({bool mapaListo}) =>
MapaState(mapaListo: mapaListo ?? this.mapaListo);
}