AR + GPS Location  3.0.0
All Classes Namespaces Functions Variables Properties Events Pages
LocationProviderInfo.cs
1 using System;
2 using System.Collections.Generic;
3 using UnityEngine;
4 using UnityEngine.UI;
5 
6 namespace ARLocation.UI
7 {
8 
9  public class LocationProviderInfo : MonoBehaviour
10  {
11  private List<Text> texts = new List<Text>();
12  private ARLocationProvider locationProvider;
13  private LoadingBar accuracyBar;
14  private Transform mainCameraTransform;
15 
16  // Use this for initialization
17  void Start()
18  {
19  texts.Add(GameObject.Find(gameObject.name + "/Panel/Canvas/Provider").GetComponent<Text>());
20  texts.Add(GameObject.Find(gameObject.name + "/Panel/Canvas/Latitude").GetComponent<Text>());
21  texts.Add(GameObject.Find(gameObject.name + "/Panel/Canvas/Longitude").GetComponent<Text>());
22  texts.Add(GameObject.Find(gameObject.name + "/Panel/Canvas/Altitude").GetComponent<Text>());
23  texts.Add(GameObject.Find(gameObject.name + "/Panel/Canvas/Time").GetComponent<Text>());
24  texts.Add(GameObject.Find(gameObject.name + "/Panel/Canvas/Status").GetComponent<Text>());
25  texts.Add(GameObject.Find(gameObject.name + "/Panel/Canvas Right/DistanceWalked").GetComponent<Text>());
26  texts.Add(GameObject.Find(gameObject.name + "/Panel/Canvas Right/CameraPosition").GetComponent<Text>());
27  texts.Add(GameObject.Find(gameObject.name + "/Panel/Canvas Right/MagneticSensor").GetComponent<Text>());
28 
29  locationProvider = ARLocationProvider.Instance;
30 
31  accuracyBar = GameObject.Find(gameObject.name + "/Panel/Canvas/LoadingBar").GetComponent<LoadingBar>();
32 
33  mainCameraTransform = ARLocationManager.Instance.MainCamera.transform;
34  }
35 
36  // Update is called once per frame
37  void Update()
38  {
39  texts[0].text = "Provider: " + locationProvider.Provider.Name;
40  texts[1].text = "Latitude: " + locationProvider.CurrentLocation.latitude;
41  texts[2].text = "Longitude: " + locationProvider.CurrentLocation.longitude;
42  texts[3].text = "Altitude: " + locationProvider.CurrentLocation.altitude;
43 
44  DateTime epochStart = new DateTime(1970, 1, 1, 0, 0, 0, DateTimeKind.Utc);
45  long currentEpochTime = (long)((DateTime.UtcNow - epochStart).TotalSeconds * 1000.0);
46  texts[4].text = "Time Since Last (ms): " + (currentEpochTime - locationProvider.CurrentLocation.timestamp);
47 
48  texts[5].text = "Status: " + locationProvider.Provider.GetStatusString();
49  texts[6].text = "Distance Walked: " + locationProvider.Provider.DistanceFromStartPoint;
50  texts[7].text = "Camera Pos: " + mainCameraTransform.position;
51  texts[8].text = "MagneticSensor: " + locationProvider.Provider.IsCompassEnabled;
52 
53  var accuracy = locationProvider.CurrentLocation.accuracy;
54 
55  accuracyBar.FillPercentage = Mathf.Min(1, (float)accuracy / 25.0f);
56  accuracyBar.Text = "" + (float)locationProvider.CurrentLocation.accuracy;
57  }
58  }
59 }
ARLocation.ARLocationProvider
Definition: ARLocationProvider.cs:17
ARLocation.ARLocationManager
This Component manages all positioned GameObjects, synchronizing their world position in the scene wi...
Definition: ARLocationManager.cs:30
ARLocation.UI.LoadingBar
Definition: LoadingBar.cs:8
ARLocation.Utils.Singleton.Instance
static T Instance
Access singleton instance through this propriety.
Definition: Singleton.cs:18
ARLocation.UI.LocationProviderInfo
Definition: LocationProviderInfo.cs:10
ARLocation.UI
Definition: ARTrackingInfo.cs:5
ARLocation.ARLocationProvider.Provider
ILocationProvider Provider
Returns the current location provider.
Definition: ARLocationProvider.cs:63
ARLocation.LocationReading.timestamp
long timestamp
Epoch time in ms
Definition: LocationReading.cs:15
ARLocation.ARLocationProvider.CurrentLocation
LocationReading CurrentLocation
The latest location data.
Definition: ARLocationProvider.cs:88