[xswiftbus] getElevationAtPosition also returns latitude and longitude

This commit is contained in:
Mat Sutcliffe
2020-02-25 19:50:07 +00:00
parent 74d5afd123
commit f4f34341e6
6 changed files with 28 additions and 15 deletions

View File

@@ -166,14 +166,16 @@ namespace BlackSimPlugin
{
std::function<void(QDBusPendingCallWatcher *)> callback = [ = ](QDBusPendingCallWatcher * watcher)
{
QDBusPendingReply<QString, double> reply = *watcher;
QDBusPendingReply<QString, double, double, double> reply = *watcher;
if (!reply.isError())
{
const CCallsign cs(reply.argumentAt<0>());
const double elevationMeters = reply.argumentAt<1>();
const double latitudeDegrees = reply.argumentAt<2>();
const double longitudeDegrees = reply.argumentAt<3>();
const CAltitude elevationAlt = std::isnan(elevationMeters) ? CAltitude::null() : CAltitude(elevationMeters, CLengthUnit::m(), CLengthUnit::ft());
const CElevationPlane elevation(CLatitude(latitudeDeg, CAngleUnit::deg()),
CLongitude(longitudeDeg, CAngleUnit::deg()),
const CElevationPlane elevation(CLatitude(latitudeDegrees, CAngleUnit::deg()),
CLongitude(longitudeDegrees, CAngleUnit::deg()),
elevationAlt, CElevationPlane::singlePointRadius());
setter(elevation, cs);
}