Make PolylineFormatter's encodedAsJSON and unencodedAsJSON free standing functions
This commit is contained in:
parent
c65dd16460
commit
0627c3443d
@ -243,9 +243,9 @@ util::json::Value ApiResponseGenerator<DataFacadeT>::GetGeometry(const bool retu
|
||||
const Segments &segments) const
|
||||
{
|
||||
if (return_encoded)
|
||||
return PolylineFormatter().printEncodedString(segments.Get());
|
||||
return polylineEncodeAsJSON(segments.Get());
|
||||
else
|
||||
return PolylineFormatter().printUnencodedString(segments.Get());
|
||||
return polylineUnencodedAsJSON(segments.Get());
|
||||
}
|
||||
|
||||
template <typename DataFacadeT>
|
||||
|
@ -1,6 +1,7 @@
|
||||
#ifndef POLYLINE_FORMATTER_HPP
|
||||
#define POLYLINE_FORMATTER_HPP
|
||||
|
||||
#include "engine/segment_information.hpp"
|
||||
#include "osrm/json_container.hpp"
|
||||
|
||||
#include <string>
|
||||
@ -11,14 +12,12 @@ namespace osrm
|
||||
namespace engine
|
||||
{
|
||||
|
||||
struct SegmentInformation;
|
||||
// Encodes geometry into polyline format, returning an encoded JSON object
|
||||
// See: https://developers.google.com/maps/documentation/utilities/polylinealgorithm
|
||||
util::json::String polylineEncodeAsJSON(const std::vector<SegmentInformation> &geometry);
|
||||
|
||||
struct PolylineFormatter
|
||||
{
|
||||
util::json::String printEncodedString(const std::vector<SegmentInformation> &polyline) const;
|
||||
|
||||
util::json::Array printUnencodedString(const std::vector<SegmentInformation> &polyline) const;
|
||||
};
|
||||
// Does not encode the geometry in polyline format, instead returning an unencoded JSON object
|
||||
util::json::Array polylineUnencodedAsJSON(const std::vector<SegmentInformation> &geometry);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -1,25 +1,18 @@
|
||||
#include "engine/polyline_formatter.hpp"
|
||||
|
||||
#include "engine/polyline_compressor.hpp"
|
||||
#include "engine/segment_information.hpp"
|
||||
|
||||
#include "osrm/coordinate.hpp"
|
||||
|
||||
#include <vector>
|
||||
|
||||
namespace osrm
|
||||
{
|
||||
namespace engine
|
||||
{
|
||||
|
||||
util::json::String
|
||||
PolylineFormatter::printEncodedString(const std::vector<SegmentInformation> &polyline) const
|
||||
util::json::String polylineEncodeAsJSON(const std::vector<SegmentInformation> &polyline)
|
||||
{
|
||||
return util::json::String(polylineEncode(polyline));
|
||||
}
|
||||
|
||||
util::json::Array
|
||||
PolylineFormatter::printUnencodedString(const std::vector<SegmentInformation> &polyline) const
|
||||
util::json::Array polylineUnencodedAsJSON(const std::vector<SegmentInformation> &polyline)
|
||||
{
|
||||
util::json::Array json_geometry_array;
|
||||
for (const auto &segment : polyline)
|
||||
|
Loading…
Reference in New Issue
Block a user