map: add station names to points

This commit is contained in:
Daniel Friesel 2019-11-16 14:50:07 +01:00
parent 0bfb71d78d
commit 45f747961e
2 changed files with 9 additions and 6 deletions

View file

@ -431,7 +431,7 @@ sub map_history {
push( @stations, uniq map { $_->{from_name} } @journeys ); push( @stations, uniq map { $_->{from_name} } @journeys );
@stations = uniq @stations; @stations = uniq @stations;
my @station_coordinates my @station_coordinates
= map { $location{$_} } grep { exists $location{$_} } @stations; = map { [ $location{$_}, $_ ] } grep { exists $location{$_} } @stations;
my @uniq_by_route = uniq_by { my @uniq_by_route = uniq_by {
join( '|', map { $_->[0] } @{ $_->{route} } ) join( '|', map { $_->[0] } @{ $_->{route} } )

View file

@ -14,7 +14,7 @@ L.tileLayer('https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png', {
var stations = [ var stations = [
% for my $station ( @{stash('station_coordinates') // [] } ) { % 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) { for (var station_id in stations) {
L.circle(stations[station_id], { L.circle(stations[station_id][0], {
color: '#f03', color: '#f03',
fillColor: '#f03', fillColor: '#f03',
fillOpacity: 0.5, fillOpacity: 0.5,
radius: 100 radius: 250
}).addTo(map); }).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> </script>