| 215 | } |
| 216 | |
| 217 | util::json::Object makeRoute(const guidance::Route &route, |
| 218 | util::json::Array legs, |
| 219 | std::optional<util::json::Value> geometry, |
| 220 | const char *weight_name) |
| 221 | { |
| 222 | util::json::Object json_route; |
| 223 | json_route.values.reserve(6); |
| 224 | |
| 225 | json_route.values.emplace("distance", route.distance); |
| 226 | json_route.values.emplace("duration", route.duration); |
| 227 | json_route.values.emplace("weight", route.weight); |
| 228 | json_route.values.emplace("weight_name", weight_name); |
| 229 | json_route.values.emplace("legs", std::move(legs)); |
| 230 | if (geometry) |
| 231 | { |
| 232 | json_route.values.emplace("geometry", *std::move(geometry)); |
| 233 | } |
| 234 | return json_route; |
| 235 | } |
| 236 | |
| 237 | util::json::Object |
| 238 | makeWaypoint(const util::Coordinate &location, const double &distance, std::string name) |