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;
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 &&
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;
}