Fix rounding issue in query coordinates by using toFixed

that internally uses boost::numeric_cast<std::int32_t>
instead of static_cast<std::int32_t>
This commit is contained in:
Michael Krasnyk 2016-06-05 18:04:43 +02:00
parent 3881ead8e5
commit 543e4fb57d
No known key found for this signature in database
GPG Key ID: 3854C9454FE00649

View File

@ -111,12 +111,12 @@ struct BaseParametersGrammar : boost::spirit::qi::grammar<Iterator, Signature>
qi::_1,
qi::_2)];
location_rule = (double_ > qi::lit(',') >
location_rule =
(double_ > qi::lit(',') >
double_)[qi::_val = ph::bind(
[](double lon, double lat) {
return util::Coordinate(
util::FixedLongitude(lon * COORDINATE_PRECISION),
util::FixedLatitude(lat * COORDINATE_PRECISION));
return util::Coordinate(util::toFixed(util::FloatLongitude(lon)),
util::toFixed(util::FloatLatitude(lat)));
},
qi::_1,
qi::_2)];