コード例 #1
0
    IEnumerator LocationServiceUpdate()
    {
        Input.location.Start();
        int waitTime = 20;

        while (Input.location.status == LocationServiceStatus.Initializing && waitTime > 0)
        {
            yield return(new WaitForSeconds(1));

            waitTime--;
        }

        if (waitTime <= 0)
        {
            state = LocationServicesState.Failed;
            yield break;
        }

        if (Input.location.status == LocationServiceStatus.Failed || Input.location.status == LocationServiceStatus.Stopped)
        {
            state = LocationServicesState.Failed;
            yield break;
        }

        latitude  = Input.location.lastData.latitude;
        longitude = Input.location.lastData.longitude;

        Input.location.Stop();
        state = LocationServicesState.Ready;

        yield break;
    }
コード例 #2
0
 public void GetLocation()
 {
     if (state != LocationServicesState.Searching)
     {
         state = LocationServicesState.Searching;
         StartCoroutine(LocationServiceUpdate());
     }
 }