diff --git a/cpanfile b/cpanfile index b7b75a12b8e23dba21cf318de6487d3a222d15c0..788015c0b70fd55d96a49bdf0be39d0fa0d11daf 100644 --- a/cpanfile +++ b/cpanfile @@ -5,6 +5,7 @@ requires 'DateTime::Format::Strptime'; requires 'Email::Sender'; requires 'Geo::Distance'; requires 'Geo::Distance::XS'; +requires 'List::UtilsBy'; requires 'Mojolicious'; requires 'Mojolicious::Plugin::Authentication'; requires 'Mojo::Pg'; diff --git a/lib/Travelynx/Controller/Traveling.pm b/lib/Travelynx/Controller/Traveling.pm index ca295941d37ba697636d0ab8752e09fe955ffa8c..7599dd06374cc4728f78a52a78c87d61f5bb51e3 100755 --- a/lib/Travelynx/Controller/Traveling.pm +++ b/lib/Travelynx/Controller/Traveling.pm @@ -3,6 +3,7 @@ use Mojo::Base 'Mojolicious::Controller'; use DateTime; use DateTime::Format::Strptime; +use List::UtilsBy qw(uniq_by); use Travel::Status::DE::IRIS::Stations; sub homepage { @@ -137,10 +138,11 @@ sub geolocation { distance => $_->[1], } } Travel::Status::DE::IRIS::Stations::get_station_by_location( $lon, - $lat, 5 ); + $lat, 10 ); + @candidates = uniq_by { $_->{name} } @candidates; $self->render( json => { - candidates => [@candidates], + candidates => [ @candidates[ 0 .. 4 ] ], } ); }