AR + GPS Location  3.0.0
All Classes Namespaces Functions Variables Properties Events Pages
AndroidNativeCompass.cs
1 using System.Collections;
2 using System.Collections.Generic;
3 using UnityEngine;
4 
5 namespace ARLocation
6 {
7  public class AndroidNativeCompass
8  {
9 #if PLATFORM_ANDROID
10  private readonly AndroidJavaObject _nativeHeading;
11 
12  public AndroidNativeCompass(float alpha = 0.1f)
13  {
14  AndroidJavaClass unityPlayer = new AndroidJavaClass("com.unity3d.player.UnityPlayer");
15  AndroidJavaObject activity = unityPlayer.GetStatic<AndroidJavaObject>("currentActivity");
16  _nativeHeading = new AndroidJavaObject("com.dmbfm.magneticdeclination.NativeHeading", activity, alpha);
17  }
18 
19  public float GetMagneticHeading()
20  {
21  return _nativeHeading.Call<float>("GetCurrentHeading");
22  }
23 #else
24  public AndroidNativeCompass(float alpha = 0.1f) {}
25 #endif
26  }
27 }
ARLocation.AndroidNativeCompass
Definition: AndroidNativeCompass.cs:8
ARLocation
Definition: ARLocationConfigInspector.cs:7