Loading lib/DBInfoscreen/Controller/Map.pm +82 −1 Original line number Diff line number Diff line Loading @@ -567,7 +567,7 @@ sub route_dbris { title => $journey->train, hide_opts => 1, with_map => 1, ajax_req => $trip_id, ajax_req => "${trip_id}/0", ajax_route => route_to_ajax( map { { Loading Loading @@ -912,6 +912,84 @@ sub ajax_route_efa { )->wait; } sub ajax_route_dbris { my ($self) = @_; my $trip_id = $self->stash('tripid'); $self->dbris->get_polyline_p( id => $trip_id )->then( sub { my ($journey) = @_; my $now = DateTime->now( time_zone => 'Europe/Berlin' ); my @route = $journey->route; my @polyline = $journey->polyline; my $train_pos = $self->estimate_train_positions2( now => $now, route => [ map { { name => $_->name, arr => $_->arr, dep => $_->dep, arr_delay => $_->arr_delay, dep_delay => $_->dep_delay, lat => $_->lat, lon => $_->lon } } @route ], polyline => \@polyline, ); $self->render( '_map_infobox', ajax_req => "${trip_id}/0", ajax_route => route_to_ajax( map { { name => $_->name, platform => $_->platform, arr => $_->arr, arr_cancelled => $_->is_cancelled, arr_delay => $_->arr_delay, dep => $_->dep, dep_cancelled => $_->is_cancelled, dep_delay => $_->dep_delay, } } @route ), ajax_polyline => join( '|', map { join( ';', @{$_} ) } @{ $train_pos->{positions} } ), origin => { name => ( $journey->route )[0]->name, ts => ( $journey->route )[0]->dep, }, destination => { name => ( $journey->route )[-1]->name, ts => ( $journey->route )[-1]->arr, }, train_no => $journey->number ? ( $journey->type . ' ' . $journey->number ) : undef, next_stop => $train_pos->{next_stop}, platform_type => q{}, ); } )->catch( sub { my ($err) = @_; $self->render( '_error', error => $err, ); } )->wait; } sub ajax_route { my ($self) = @_; Loading @@ -919,6 +997,9 @@ sub ajax_route { $self->render_later; if ( $self->param('dbris') ) { return $self->ajax_route_dbris; } if ( $self->param('efa') ) { return $self->ajax_route_efa; } Loading public/static/js/map-refresh.js +1 −1 Original line number Diff line number Diff line Loading @@ -69,7 +69,7 @@ function dbf_anim_fine() { function dbf_map_reload() { const param = new URLSearchParams(window.location.search); $.get('/_ajax_mapinfo/' + j_reqid + '?efa=' + (param.get('efa') || '') + '&hafas=' + (param.get('hafas') || ''), function(data) { $.get('/_ajax_mapinfo/' + j_reqid + '?dbris=' + (param.get('dbris') || '') + '&efa=' + (param.get('efa') || '') + '&hafas=' + (param.get('hafas') || ''), function(data) { $('#infobox').html(data); dbf_map_parse(); setTimeout(dbf_map_reload, 61000); Loading Loading
lib/DBInfoscreen/Controller/Map.pm +82 −1 Original line number Diff line number Diff line Loading @@ -567,7 +567,7 @@ sub route_dbris { title => $journey->train, hide_opts => 1, with_map => 1, ajax_req => $trip_id, ajax_req => "${trip_id}/0", ajax_route => route_to_ajax( map { { Loading Loading @@ -912,6 +912,84 @@ sub ajax_route_efa { )->wait; } sub ajax_route_dbris { my ($self) = @_; my $trip_id = $self->stash('tripid'); $self->dbris->get_polyline_p( id => $trip_id )->then( sub { my ($journey) = @_; my $now = DateTime->now( time_zone => 'Europe/Berlin' ); my @route = $journey->route; my @polyline = $journey->polyline; my $train_pos = $self->estimate_train_positions2( now => $now, route => [ map { { name => $_->name, arr => $_->arr, dep => $_->dep, arr_delay => $_->arr_delay, dep_delay => $_->dep_delay, lat => $_->lat, lon => $_->lon } } @route ], polyline => \@polyline, ); $self->render( '_map_infobox', ajax_req => "${trip_id}/0", ajax_route => route_to_ajax( map { { name => $_->name, platform => $_->platform, arr => $_->arr, arr_cancelled => $_->is_cancelled, arr_delay => $_->arr_delay, dep => $_->dep, dep_cancelled => $_->is_cancelled, dep_delay => $_->dep_delay, } } @route ), ajax_polyline => join( '|', map { join( ';', @{$_} ) } @{ $train_pos->{positions} } ), origin => { name => ( $journey->route )[0]->name, ts => ( $journey->route )[0]->dep, }, destination => { name => ( $journey->route )[-1]->name, ts => ( $journey->route )[-1]->arr, }, train_no => $journey->number ? ( $journey->type . ' ' . $journey->number ) : undef, next_stop => $train_pos->{next_stop}, platform_type => q{}, ); } )->catch( sub { my ($err) = @_; $self->render( '_error', error => $err, ); } )->wait; } sub ajax_route { my ($self) = @_; Loading @@ -919,6 +997,9 @@ sub ajax_route { $self->render_later; if ( $self->param('dbris') ) { return $self->ajax_route_dbris; } if ( $self->param('efa') ) { return $self->ajax_route_efa; } Loading
public/static/js/map-refresh.js +1 −1 Original line number Diff line number Diff line Loading @@ -69,7 +69,7 @@ function dbf_anim_fine() { function dbf_map_reload() { const param = new URLSearchParams(window.location.search); $.get('/_ajax_mapinfo/' + j_reqid + '?efa=' + (param.get('efa') || '') + '&hafas=' + (param.get('hafas') || ''), function(data) { $.get('/_ajax_mapinfo/' + j_reqid + '?dbris=' + (param.get('dbris') || '') + '&efa=' + (param.get('efa') || '') + '&hafas=' + (param.get('hafas') || ''), function(data) { $('#infobox').html(data); dbf_map_parse(); setTimeout(dbf_map_reload, 61000); Loading