Measurement units for routing are selected based on device locale setting locale
authorSami Rämö <sami.ramo@ixonos.com>
Mon, 30 Aug 2010 08:26:22 +0000 (11:26 +0300)
committerSami Rämö <sami.ramo@ixonos.com>
Mon, 30 Aug 2010 08:26:22 +0000 (11:26 +0300)
src/routing/routingservice.cpp

index 1da2b8a..1f9a4dc 100644 (file)
@@ -24,6 +24,7 @@
 
 #include <QCryptographicHash>
 #include <QDebug>
+#include <QLocale>
 #include <QNetworkReply>
 #include <QStringList>
 #include <QtGlobal>
@@ -184,8 +185,14 @@ void RoutingService::requestRoute(const GeoCoordinate &from, const GeoCoordinate
     url.append("/api/0.3/");
     url.append(QString::number(from.latitude()) + "," + QString::number(from.longitude()) + ",");
     url.append(QString::number(to.latitude()) + "," + QString::number(to.longitude()));
-    url.append("/car/fastest.js?lang=en&units=km&token=");
+    url.append("/car/fastest.js?lang=en");
 
+    if (QLocale::system().measurementSystem() == QLocale::ImperialSystem)
+        url.append("&units=miles");
+    else
+        url.append("&units=km");
+
+    url.append("&token=");
     if(m_token.isEmpty()) {
         m_pendingRequest.append(url);
         requestAuthorizationToken();