Use common function for clamping logic for all user-visible bearings.

This commit is contained in:
Daniel Patterson
2016-12-13 10:44:11 -08:00
committed by Patrick Niklaus
parent 67ce19cb14
commit a51ef67db8
2 changed files with 11 additions and 7 deletions
+6 -7
View File
@@ -192,8 +192,8 @@ util::json::Object makeStepManeuver(const guidance::StepManeuver &maneuver)
detail::instructionModifierToString(maneuver.instruction.direction_modifier);
step_maneuver.values["location"] = detail::coordinateToLonLat(maneuver.location);
step_maneuver.values["bearing_before"] = std::fmod(std::round(maneuver.bearing_before), 360);
step_maneuver.values["bearing_after"] = std::fmod(std::round(maneuver.bearing_after), 360);
step_maneuver.values["bearing_before"] = detail::roundAndClampBearing(maneuver.bearing_before);
step_maneuver.values["bearing_after"] = detail::roundAndClampBearing(maneuver.bearing_after);
if (maneuver.exit != 0)
step_maneuver.values["exit"] = maneuver.exit;
@@ -207,11 +207,10 @@ util::json::Object makeIntersection(const guidance::Intersection &intersection)
util::json::Array entry;
bearings.values.reserve(intersection.bearings.size());
std::transform(
intersection.bearings.begin(),
intersection.bearings.end(),
std::back_inserter(bearings.values),
[](const double bearing) -> util::json::Value { BOOST_ASSERT(bearing != 360.0); return std::fmod(bearing, 360); });
std::transform(intersection.bearings.begin(),
intersection.bearings.end(),
std::back_inserter(bearings.values),
detail::roundAndClampBearing);
entry.values.reserve(intersection.entry.size());
std::transform(intersection.entry.begin(),