fix #1181, uncompressed geometries regressed into array of strings

This commit is contained in:
Dennis Luxen 2014-09-15 14:27:27 +02:00
parent 392c07951e
commit 9d4b0caa5b

View File

@ -30,8 +30,8 @@ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
#include <osrm/Coordinate.h> #include <osrm/Coordinate.h>
void PolylineCompressor::encodeVectorSignedNumber(std::vector<int> &numbers, std::string &output) void PolylineCompressor::encodeVectorSignedNumber(std::vector<int> &numbers,
const std::string &output) const
{ {
const unsigned end = static_cast<unsigned>(numbers.size()); const unsigned end = static_cast<unsigned>(numbers.size());
for (unsigned i = 0; i < end; ++i) for (unsigned i = 0; i < end; ++i)
@ -69,8 +69,8 @@ void PolylineCompressor::encodeNumber(int number_to_encode, std::string &output)
} }
} }
JSON::String PolylineCompressor::printEncodedString(const std::vector<SegmentInformation> &polyline) JSON::String
const PolylineCompressor::printEncodedString(const std::vector<SegmentInformation> &polyline) const
{ {
std::string output; std::string output;
std::vector<int> delta_numbers; std::vector<int> delta_numbers;
@ -102,12 +102,10 @@ PolylineCompressor::printUnencodedString(const std::vector<SegmentInformation> &
{ {
if (segment.necessary) if (segment.necessary)
{ {
std::string tmp, output; JSON::Array json_coordinate;
FixedPointCoordinate::convertInternalLatLonToString(segment.location.lat, tmp); json_coordinate.values.push_back(segment.location.lat / COORDINATE_PRECISION);
output += (tmp + ","); json_coordinate.values.push_back(segment.location.lon / COORDINATE_PRECISION);
FixedPointCoordinate::convertInternalLatLonToString(segment.location.lon, tmp); json_geometry_array.values.push_back(json_coordinate);
output += tmp;
json_geometry_array.values.push_back(output);
} }
} }
return json_geometry_array; return json_geometry_array;