X-Git-Url: http://git.maemo.org/git/?p=jspeed;a=blobdiff_plain;f=src%2Flocation.cpp;h=56071f587cf4247b8e10e1fae83f9a49f6e84647;hp=d8ef14cd523f723864e1c8ff817c531d7de04e04;hb=896cef4efae239e6ece29a288812425ec9e366e5;hpb=118750b1e5f7d3b389ea12276ff3f2f0fa36d8b9 diff --git a/src/location.cpp b/src/location.cpp index d8ef14c..56071f5 100644 --- a/src/location.cpp +++ b/src/location.cpp @@ -21,8 +21,10 @@ namespace { - static const double KM_MULTIPLIER = 1.0; - static const double MILE_MULTIPLIER = 0.621371192; + static double const KM_MULTIPLIER = 1.0; + static double const MILE_MULTIPLIER = 0.621371192; + static double const METER_MULTIPLIER = 1.0; + static double const FEET_MULTIPLIER = 3.2808399; } Location::Unit Location::unit_ = Location::KM; @@ -125,6 +127,16 @@ double Location::getUnitMultiplier() return KM_MULTIPLIER; } +double Location::getMeterMultiplier() +{ + if(unit_ == MILE) + { + return FEET_MULTIPLIER; + } + + return METER_MULTIPLIER; +} + void Location::onChanged(LocationGPSDevice *device, gpointer data) { if(device && device->fix && @@ -145,7 +157,7 @@ void Location::onChanged(LocationGPSDevice *device, gpointer data) if(device->fix->fields & LOCATION_GPS_DEVICE_ALTITUDE_SET) { - fix.altitude = device->fix->altitude; + fix.altitude = device->fix->altitude * getMeterMultiplier(); fix.epv = device->fix->epv; }