summaryrefslogtreecommitdiff
path: root/Runtime/Input/LocationService.h
diff options
context:
space:
mode:
authorchai <chaifix@163.com>2019-08-14 22:50:43 +0800
committerchai <chaifix@163.com>2019-08-14 22:50:43 +0800
commit15740faf9fe9fe4be08965098bbf2947e096aeeb (patch)
treea730ec236656cc8cab5b13f088adfaed6bb218fb /Runtime/Input/LocationService.h
+Unity Runtime codeHEADmaster
Diffstat (limited to 'Runtime/Input/LocationService.h')
-rw-r--r--Runtime/Input/LocationService.h51
1 files changed, 51 insertions, 0 deletions
diff --git a/Runtime/Input/LocationService.h b/Runtime/Input/LocationService.h
new file mode 100644
index 0000000..eecd4d3
--- /dev/null
+++ b/Runtime/Input/LocationService.h
@@ -0,0 +1,51 @@
+#ifndef UNITY_LOCATION_SERVICE_H_
+#define UNITY_LOCATION_SERVICE_H_
+
+#include "Runtime/Math/Vector3.h"
+
+struct LocationInfo
+{
+ double timestamp;
+ float latitude;
+ float longitude;
+ float altitude;
+ float horizontalAccuracy;
+ float verticalAccuracy;
+};
+
+struct HeadingInfo
+{
+ float magneticHeading;
+ float trueHeading;
+ Vector3f raw;
+ double timestamp;
+};
+
+enum LocationServiceStatus
+{
+ kLocationServiceStopped,
+ kLocationServiceInitializing,
+ kLocationServiceRunning,
+ kLocationServiceFailed
+};
+
+class LocationService
+{
+public:
+ static void SetDesiredAccuracy (float val);
+ static float GetDesiredAccuracy ();
+ static void SetDistanceFilter (float val);
+ static float GetDistanceFilter ();
+ static bool IsServiceEnabledByUser ();
+ static void StartUpdatingLocation ();
+ static void StopUpdatingLocation ();
+ static void SetHeadingUpdatesEnabled (bool enabled);
+ static bool IsHeadingUpdatesEnabled();
+ static LocationServiceStatus GetLocationStatus ();
+ static LocationServiceStatus GetHeadingStatus ();
+ static LocationInfo GetLastLocation ();
+ static const HeadingInfo &GetLastHeading ();
+ static bool IsHeadingAvailable ();
+};
+
+#endif // #ifndef UNITY_LOCATION_SERVICE_H_