Eliminate unnecessary waypoint API call in map.

I added the with_waypoints option for the react map. Use it in the old
one.
This commit is contained in:
Dan Albert 2022-03-03 00:10:45 -08:00
parent 79b471b41c
commit 4dfc42528d

View File

@ -924,24 +924,22 @@ class Flight {
} }
drawFlightPlan() { drawFlightPlan() {
getJson(`/waypoints/${this.flight.id}`).then((waypoints) => { this.clearFlightPlan();
this.clearFlightPlan(); const path = [];
const path = []; this.flight.waypoints.map((raw, idx) => {
waypoints.map((raw, idx) => { const waypoint = new Waypoint(raw, idx, this);
const waypoint = new Waypoint(raw, idx, this); if (waypoint.includeInPath()) {
if (waypoint.includeInPath()) { path.push(waypoint.position());
path.push(waypoint.position()); }
} if (this.shouldMark(waypoint)) {
if (this.shouldMark(waypoint)) { waypoint.marker
waypoint.marker .addTo(selectedFlightPlansLayer)
.addTo(selectedFlightPlansLayer) .addTo(this.flightPlanLayer())
.addTo(this.flightPlanLayer()) .addTo(allFlightPlansLayer);
.addTo(allFlightPlansLayer); this.markers.push(waypoint.marker);
this.markers.push(waypoint.marker); }
}
});
this.drawPath(path);
}); });
this.drawPath(path);
} }
} }
@ -953,7 +951,7 @@ function drawAircraft() {
selectedFlightPlansLayer.clearLayers(); selectedFlightPlansLayer.clearLayers();
allFlightPlansLayer.clearLayers(); allFlightPlansLayer.clearLayers();
getJson("/flights").then((flights) => { getJson("/flights?with_waypoints=true").then((flights) => {
for (const flight of flights) { for (const flight of flights) {
new Flight(flight).draw(); new Flight(flight).draw();
} }