Fixed bug #5762: Location setting accuracy is not accurate
[situare] / src / situareservice / situareservice.cpp
index c443e3d..2ed9fae 100644 (file)
@@ -191,16 +191,22 @@ QUrl SituareService::formUrl(const QString &baseUrl, const QString &phpScript,
 QString SituareService::formUrlParameters(const GeoCoordinate &coordinates, QString status,
                                           QString publish)
 {
+    qDebug() << __PRETTY_FUNCTION__;
+
+    // one scene pixel is about 5.4e-6 degrees, the integer part is max three digits and one
+    // additional digit is added for maximum precision
+    const int COORDINATE_PRECISION = 10;
+
     QString parameters;
 
     parameters.append(QUESTION_MARK);
     parameters.append(LATITUDE);
     parameters.append(EQUAL_MARK);
-    parameters.append(QString::number(coordinates.latitude()));
+    parameters.append(QString::number(coordinates.latitude(), 'f', COORDINATE_PRECISION));
     parameters.append(AMBERSAND_MARK);
     parameters.append(LONGTITUDE);
     parameters.append(EQUAL_MARK);
-    parameters.append(QString::number(coordinates.longitude()));
+    parameters.append(QString::number(coordinates.longitude(), 'f', COORDINATE_PRECISION));
 
     if(publish.compare(PUBLISH_TRUE) == 0) {
         parameters.append(AMBERSAND_MARK);