@@ -174,11 +174,6 @@ func loop(state *State) {
174174 err = PutParam (ROAD_NAME , []byte (RoadName (state .CurrentWay .Way )))
175175 logwe (errors .Wrap (err , "could not write road name" ))
176176
177- data , err = json .Marshal (state .CurrentWay .Way .MaxSpeed ())
178- logde (errors .Wrap (err , "could not marshal speed limit" ))
179- err = PutParam (MAP_SPEED_LIMIT , data )
180- logwe (errors .Wrap (err , "could not write speed limit" ))
181-
182177 data , err = json .Marshal (state .CurrentWay .Way .AdvisorySpeed ())
183178 logde (errors .Wrap (err , "could not marshal advisory speed limit" ))
184179 err = PutParam (MAP_ADVISORY_LIMIT , data )
@@ -232,18 +227,24 @@ func loop(state *State) {
232227 } else if ! state .CurrentWay .OnWay .IsForward && state .CurrentWay .Way .MaxSpeedBackward () > 0 {
233228 currentMaxSpeed = state .CurrentWay .Way .MaxSpeedBackward ()
234229 }
230+
231+ data , err = json .Marshal (currentMaxSpeed )
232+ logde (errors .Wrap (err , "could not marshal speed limit" ))
233+ err = PutParam (MAP_SPEED_LIMIT , data )
234+ logwe (errors .Wrap (err , "could not write speed limit" ))
235+
235236 nextMaxSpeed := currentMaxSpeed
236237 nextSpeedWay := state .NextWays [0 ]
237238 for _ , nextWay := range state .NextWays {
238- if nextMaxSpeed == currentMaxSpeed {
239+ nextMaxSpeed = nextWay .Way .MaxSpeed ()
240+ if nextWay .IsForward && nextWay .Way .MaxSpeedForward () > 0 {
241+ nextMaxSpeed = nextWay .Way .MaxSpeedForward ()
242+ } else if ! nextWay .IsForward && nextWay .Way .MaxSpeedBackward () > 0 {
243+ nextMaxSpeed = nextWay .Way .MaxSpeedBackward ()
244+ }
245+ if nextMaxSpeed != currentMaxSpeed {
239246 nextSpeedWay = nextWay
240- nextMaxSpeed = nextWay .Way .MaxSpeed ()
241- if nextWay .IsForward && nextWay .Way .MaxSpeedForward () > 0 {
242- nextMaxSpeed = nextWay .Way .MaxSpeedForward ()
243- } else if ! nextWay .IsForward && nextWay .Way .MaxSpeedBackward () > 0 {
244- nextMaxSpeed = nextWay .Way .MaxSpeedBackward ()
245- }
246-
247+ break
247248 }
248249 }
249250 data , err = json .Marshal (NextSpeedLimit {
0 commit comments