Include distance from input to snapped for all waypoints, not just on the nearest service.

This commit is contained in:
Daniel Patterson
2018-11-02 14:52:02 -07:00
parent 973837207b
commit 4dde9c7bbe
8 changed files with 41 additions and 16 deletions
+9 -4
View File
@@ -94,7 +94,7 @@ std::string waypointTypeToString(const guidance::WaypointType waypoint_type)
return waypoint_type_names[static_cast<std::size_t>(waypoint_type)];
}
util::json::Array coordinateToLonLat(const util::Coordinate coordinate)
util::json::Array coordinateToLonLat(const util::Coordinate &coordinate)
{
util::json::Array array;
array.values.push_back(static_cast<double>(util::toFloating(coordinate.lon)));
@@ -240,17 +240,22 @@ util::json::Object makeRoute(const guidance::Route &route,
return json_route;
}
util::json::Object makeWaypoint(const util::Coordinate location, std::string name)
util::json::Object
makeWaypoint(const util::Coordinate &location, const double &distance, std::string name)
{
util::json::Object waypoint;
waypoint.values["location"] = detail::coordinateToLonLat(location);
waypoint.values["name"] = std::move(name);
waypoint.values["distance"] = distance;
return waypoint;
}
util::json::Object makeWaypoint(const util::Coordinate location, std::string name, const Hint &hint)
util::json::Object makeWaypoint(const util::Coordinate &location,
const double &distance,
std::string name,
const Hint &hint)
{
auto waypoint = makeWaypoint(location, name);
auto waypoint = makeWaypoint(location, distance, name);
waypoint.values["hint"] = hint.ToBase64();
return waypoint;
}
+1 -1
View File
@@ -153,7 +153,7 @@ double perpendicularDistance(const Coordinate segment_source,
web_mercator::fromWGS84(query_location));
nearest_location = web_mercator::toWGS84(projected_nearest);
const double approximate_distance = greatCircleDistance(query_location, nearest_location);
const double approximate_distance = fccApproximateDistance(query_location, nearest_location);
BOOST_ASSERT(0.0 <= approximate_distance);
return approximate_distance;
}