Unity3d GPS code
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
//By Nathan
//Test code.
public class GPSLocationTest : MonoBehaviour
{
public float Latitude;
public float Longitude;
public float Oldlat;
public float Oldlon;
public AudioSource kickSource;
// Start is called before the first frame update
void Start()
{
kickSource = GetComponent<AudioSource>();
Latitude = Input.location.lastData.latitude;
Longitude = Input.location.lastData.longitude;
int oldLat;
int oldLon;
}
IEnumerator Start()
{
// First, check if user has location service enabled
if (!Input.location.isEnabledByUser)
yield break;
// Start service before querying location
Input.location.Start();
// Wait until service initializes
int maxWait = 20;
while (Input.location.status == LocationServiceStatus.Initializing && maxWait > 0)
{
yield return new WaitForSeconds(1);
maxWait--;
}
// Service didn't initialize in 20 seconds
if (maxWait < 1)
{
print("Timed out");
yield break;
}
// Connection has failed
if (Input.location.status == LocationServiceStatus.Failed)
{
print("Unable to determine device location");
yield break;
}
else
{
// Access granted and location value could be retrieved
print("Location: " + Input.location.lastData.latitude + " " + Input.location.lastData.longitude + " " + Input.location.lastData.altitude + " " + Input.location.lastData.horizontalAccuracy + " " + Input.location.lastData.timestamp);
}
// Stop service if there is no need to query location updates continuously
Input.location.Stop();
}
// Update is called once per frame
void Update()
{
if (Input.location.status == LocationServiceStatus.Running)
{
Latitude = Input.location.lastData.latitude;
Longitude = Input.location.lastData.longitude;
kickSource.Play.sound();
}
do
{
#code to detect movement up
lat=NewLat;
newLat++;
#code to detect movement backwards
lat=NewLat;
newLat--;
#code to detect movement left
lat=NewLon;
newLon++;
#code to detect movement right
lat=NewLon;
newLon--;
}
while(newLat > lat || newLat < lat || newLon > lon || newLon < lon)
}
}
}