Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
666 views
in Technique[技术] by (71.8m points)

socket.io - Flutter: control the state of main widget

I'am a beginner at Flutter, there is a thing that i cannot understand and i don't find an explanation anywhere. I am trying to create an app using google maps with roads drawn on the map, so i use the variable _poly with contains the points to draw the road:

void change_road() {
some code...
 socket.on('my event', (data) async {
    _poly = await new_road();
 }
}


@override
  Widget build(BuildContext context) {
.
.
.
 GoogleMap(
            mapType: MapType.normal, //hybrid
            initialCameraPosition: initialLocation,
            zoomControlsEnabled: false,
            markers: Set.of((myMarker != null) ? [myMarker] : []),
            circles: Set.of((circle != null) ? [circle] : []),
            onMapCreated: (GoogleMapController controller) {
              _controller = controller;
            },
            polylines: _poly,
          ),
.
.
.

so basically i am changing the value of _poly in a socketIO event in an other function. The problem is why the map does not change when I change the value?

And in general why does changing the value of variables outside the build function does not have an impact on these variables inside the build.

PS: The function change_road() has been called else where and the socket is listening on the event...

Please help me and thank you!

question from:https://stackoverflow.com/questions/65516953/flutter-control-the-state-of-main-widget

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Reply

0 votes
by (71.8m points)
Waitting for answers

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
OGeek|极客中国-欢迎来到极客的世界,一个免费开放的程序员编程交流平台!开放,进步,分享!让技术改变生活,让极客改变未来! Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

1.4m articles

1.4m replys

5 comments

57.0k users

...