diff options
author | Asheem Mamoowala <asheem.mamoowala@mapbox.com> | 2017-05-11 18:54:58 -0700 |
---|---|---|
committer | Asheem Mamoowala <asheem.mamoowala@mapbox.com> | 2017-05-18 16:29:06 -0700 |
commit | 1d50e3f10adacfd2ddd2edbb3af315d66e1d9b20 (patch) | |
tree | 5e8f259476034486e6ce6f3006814017131a3a8a | |
parent | 19e1df0de69fb1b7388bf6ad2788a3ef9d356ac1 (diff) | |
download | qtlocation-mapboxgl-1d50e3f10adacfd2ddd2edbb3af315d66e1d9b20.tar.gz |
Add conversion method for iOS and Android
-rw-r--r-- | platform/android/src/style/android_conversion.hpp | 9 | ||||
-rw-r--r-- | platform/darwin/src/MGLConversion.h | 8 | ||||
-rw-r--r-- | platform/qt/src/qt_conversion.hpp | 7 |
3 files changed, 24 insertions, 0 deletions
diff --git a/platform/android/src/style/android_conversion.hpp b/platform/android/src/style/android_conversion.hpp index e2b2685928..790c82a1c0 100644 --- a/platform/android/src/style/android_conversion.hpp +++ b/platform/android/src/style/android_conversion.hpp @@ -66,6 +66,15 @@ inline optional<float> toNumber(const mbgl::android::Value& value) { } } +inline optional<double> toDouble(const mbgl::android::Value& value) { + if (value.isNumber()) { + auto num = value.toDouble(); + return num; + } else { + return {}; + } +} + inline optional<std::string> toString(const mbgl::android::Value& value) { if (value.isString()) { return value.toString(); diff --git a/platform/darwin/src/MGLConversion.h b/platform/darwin/src/MGLConversion.h index d51ebd775c..d6363b28eb 100644 --- a/platform/darwin/src/MGLConversion.h +++ b/platform/darwin/src/MGLConversion.h @@ -104,6 +104,14 @@ inline optional<float> toNumber(const id value) { } } +inline optional<double> toDouble(const id value) { + if (_isNumber(value)) { + return ((NSNumber *)value).doubleValue; + } else { + return {}; + } +} + inline optional<std::string> toString(const id value) { if (_isString(value)) { return std::string(static_cast<const char *>([value UTF8String])); diff --git a/platform/qt/src/qt_conversion.hpp b/platform/qt/src/qt_conversion.hpp index 4b93ca7423..40d7e5b928 100644 --- a/platform/qt/src/qt_conversion.hpp +++ b/platform/qt/src/qt_conversion.hpp @@ -83,6 +83,13 @@ inline optional<float> toNumber(const QVariant& value) { return {}; } } +inline optional<double> toDouble(const QVariant& value) { + if (value.type() == QVariant::Int || value.type() == QVariant::Double) { + return value.toDouble(); + } else { + return {}; + } +} inline optional<std::string> toString(const QVariant& value) { if (value.type() == QVariant::String) { |