65 lines
3.1 KiB
C#
65 lines
3.1 KiB
C#
using System;
|
|
using System.Collections.Generic;
|
|
using UnityEngine;
|
|
using UnityEngine.UI;
|
|
|
|
namespace ARLocation.UI
|
|
{
|
|
|
|
public class LocationProviderInfo : MonoBehaviour
|
|
{
|
|
private List<Text> texts = new List<Text>();
|
|
private ARLocationProvider locationProvider;
|
|
private LoadingBar accuracyBar;
|
|
private Transform mainCameraTransform;
|
|
|
|
// Use this for initialization
|
|
void Start()
|
|
{
|
|
texts.Add(GameObject.Find(gameObject.name + "/Panel/Canvas/Provider").GetComponent<Text>());
|
|
texts.Add(GameObject.Find(gameObject.name + "/Panel/Canvas/Latitude").GetComponent<Text>());
|
|
texts.Add(GameObject.Find(gameObject.name + "/Panel/Canvas/Longitude").GetComponent<Text>());
|
|
texts.Add(GameObject.Find(gameObject.name + "/Panel/Canvas/Altitude").GetComponent<Text>());
|
|
texts.Add(GameObject.Find(gameObject.name + "/Panel/Canvas/Time").GetComponent<Text>());
|
|
texts.Add(GameObject.Find(gameObject.name + "/Panel/Canvas/Status").GetComponent<Text>());
|
|
texts.Add(GameObject.Find(gameObject.name + "/Panel/Canvas Right/DistanceWalked").GetComponent<Text>());
|
|
texts.Add(GameObject.Find(gameObject.name + "/Panel/Canvas Right/CameraPosition").GetComponent<Text>());
|
|
texts.Add(GameObject.Find(gameObject.name + "/Panel/Canvas Right/MagneticSensor").GetComponent<Text>());
|
|
|
|
locationProvider = ARLocationProvider.Instance;
|
|
|
|
accuracyBar = GameObject.Find(gameObject.name + "/Panel/Canvas/LoadingBar").GetComponent<LoadingBar>();
|
|
|
|
mainCameraTransform = ARLocationManager.Instance.MainCamera.transform;
|
|
}
|
|
|
|
// Update is called once per frame
|
|
void Update()
|
|
{
|
|
texts[0].text = "Provider: " + locationProvider.Provider.Name;
|
|
|
|
//tested by thuang
|
|
LocationReading locRead = locationProvider.CurrentLocation;
|
|
Location locReadtrans = locRead.ToLocation();
|
|
|
|
texts[1].text = "Latitude: " + locationProvider.CurrentLocation.latitude;
|
|
texts[2].text = "Longitude: " + locationProvider.CurrentLocation.longitude;
|
|
texts[3].text = "Altitude: " + locationProvider.CurrentLocation.altitude;
|
|
|
|
DateTime epochStart = new DateTime(1970, 1, 1, 0, 0, 0, DateTimeKind.Utc);
|
|
long currentEpochTime = (long)((DateTime.UtcNow - epochStart).TotalSeconds * 1000.0);
|
|
texts[4].text = "Time Since Last (ms): " + (currentEpochTime - locationProvider.CurrentLocation.timestamp);
|
|
|
|
texts[5].text = "Status: " + locationProvider.Provider.GetStatusString();
|
|
texts[6].text = "Distance Walked: " + locationProvider.Provider.DistanceFromStartPoint;
|
|
texts[7].text = "Camera Pos: " + mainCameraTransform.position;
|
|
texts[8].text = "MagneticSensor: " + locationProvider.Provider.IsCompassEnabled;
|
|
|
|
var accuracy = locationProvider.CurrentLocation.accuracy;
|
|
|
|
accuracyBar.FillPercentage = Mathf.Min(1, (float)accuracy / 25.0f);
|
|
accuracyBar.Text = "" + (float)locationProvider.CurrentLocation.accuracy;
|
|
}
|
|
}
|
|
}
|