summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rwxr-xr-xlib/Travelynx/Controller/Traveling.pm2
-rw-r--r--templates/map.html.ep13
2 files changed, 9 insertions, 6 deletions
diff --git a/lib/Travelynx/Controller/Traveling.pm b/lib/Travelynx/Controller/Traveling.pm
index a3d5e67..3c4a8d7 100755
--- a/lib/Travelynx/Controller/Traveling.pm
+++ b/lib/Travelynx/Controller/Traveling.pm
@@ -431,7 +431,7 @@ sub map_history {
push( @stations, uniq map { $_->{from_name} } @journeys );
@stations = uniq @stations;
my @station_coordinates
- = map { $location{$_} } grep { exists $location{$_} } @stations;
+ = map { [ $location{$_}, $_ ] } grep { exists $location{$_} } @stations;
my @uniq_by_route = uniq_by {
join( '|', map { $_->[0] } @{ $_->{route} } )
diff --git a/templates/map.html.ep b/templates/map.html.ep
index 1930e51..707b28e 100644
--- a/templates/map.html.ep
+++ b/templates/map.html.ep
@@ -14,7 +14,7 @@ L.tileLayer('https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png', {
var stations = [
% for my $station ( @{stash('station_coordinates') // [] } ) {
-[<%= $station->[0] %>,<%= $station->[1] %>],
+[[<%= $station->[0][0] %>,<%= $station->[0][1] %>],'<%= $station->[1] %>'],
% }
];
@@ -25,14 +25,17 @@ var routes = [
];
for (var station_id in stations) {
- L.circle(stations[station_id], {
+ L.circle(stations[station_id][0], {
color: '#f03',
fillColor: '#f03',
fillOpacity: 0.5,
- radius: 100
- }).addTo(map);
+ radius: 250
+ }).bindPopup(stations[station_id][1]).addTo(map);
}
-L.polyline(routes, {color: '#f09', opacity: 0.5}).addTo(map);
+var pl = L.polyline(routes, {color: '#f09', opacity: 0.5}).addTo(map);
+if (routes.length) {
+ map.fitBounds(pl.getBounds());
+}
</script>