diff options
Diffstat (limited to 'lib/DBInfoscreen/Controller/Map.pm')
-rw-r--r-- | lib/DBInfoscreen/Controller/Map.pm | 26 |
1 files changed, 26 insertions, 0 deletions
diff --git a/lib/DBInfoscreen/Controller/Map.pm b/lib/DBInfoscreen/Controller/Map.pm index 70b2644..6ab2c32 100644 --- a/lib/DBInfoscreen/Controller/Map.pm +++ b/lib/DBInfoscreen/Controller/Map.pm @@ -68,6 +68,9 @@ sub route { my $trip_id = $self->stash('tripid'); my $line_no = $self->stash('lineno'); + my $from_name = $self->param('from'); + my $to_name = $self->param('to'); + $self->render_later; $self->get_hafas_polyline_p( $trip_id, $line_no )->then( @@ -102,6 +105,29 @@ sub route { my @stop_lines = ( $stop->{stop}{name} ); my ( $platform, $arr, $dep, $arr_delay, $dep_delay ); + if ( $from_name and $stop->{stop}{name} eq $from_name ) { + push( + @markers, + { + lon => $stop->{stop}{location}{longitude}, + lat => $stop->{stop}{location}{latitude}, + title => $stop->{stop}{name}, + icon => 'greenIcon', + } + ); + } + if ( $to_name and $stop->{stop}{name} eq $to_name ) { + push( + @markers, + { + lon => $stop->{stop}{location}{longitude}, + lat => $stop->{stop}{location}{latitude}, + title => $stop->{stop}{name}, + icon => 'goldIcon', + } + ); + } + if ( $stop->{arrival} and $arr = $strp->parse_datetime( $stop->{arrival} ) ) { |