improve map
All checks were successful
Create and publish a Docker image / build-and-push-image (push) Successful in 5m38s

This commit is contained in:
Nicholas Orlowsky 2026-04-19 23:18:55 -04:00
parent bb1ac27ea6
commit 5f12042f2f
No known key found for this signature in database
GPG key ID: A9F3BA4C0AA7A70B
3 changed files with 18 additions and 6 deletions

View file

@ -36,7 +36,12 @@ async fn get_map_element_html(state: Data<Arc<AppState>>, resp: SessionResponse)
for other in trips {
if let libseptastic::stop_schedule::TripTracking::Tracked(td) = other.tracking_data {
if let Some(lat) = td.latitude && let Some(lng) = td.longitude {
locations.push((lat, lng, td.route_id));
locations.push(crate::templates::MapItem {
lat,
lng,
route_id: td.route_id,
headsign: other.direction.direction_destination
});
}
}
}

View file

@ -99,10 +99,17 @@ pub struct StopSearchResults {
pub results: Vec<Stop>
}
pub struct MapItem {
pub lat: f64,
pub lng: f64,
pub route_id: String,
pub headsign: String,
}
#[derive(askama::Template)]
#[template(path = "map.html")]
pub struct MapTemplate {
pub locations: Vec<(f64,f64, String)>
pub locations: Vec<MapItem>
}
pub fn build_timetables(directions: Vec<Direction>, trips: Vec<Trip>) -> Vec<TimetableDirection> {

View file

@ -3,7 +3,7 @@
crossorigin="">
<script src="https://unpkg.com/leaflet@1.9.4/dist/leaflet.js"
integrity="sha256-20nQCchB9co0qIjJZRGuk2/Z9VM+kNiyxNV1lvTlZBo="
crossorigin="">
crossorigin=""></script>
<style>
#map { height: 750px; width: 100%; }
@ -26,13 +26,13 @@
html: `
<div>
<span style="background-color: #eee; padding: 2px;">
{{ loc.2 }}
{{ loc.route_id }} to {{ loc.headsign }}
</span>
</div>`,
className: 'text-label'
});
var marker = L.marker([{{loc.0}}, {{loc.1}}], {icon: icon}).addTo(map);
marker.bindPopup("{{ loc.2 }}")
var marker = L.marker([{{loc.lat}}, {{loc.lng}}], {icon: icon}).addTo(map);
marker.bindPopup("{{ loc.route_id }}")
}
{% endfor %}
</script>