Unity之GPS定位详解
Location service is stopped. 定位服务已经停止
Initializing
Location service is initializing, some time later it will switch to. 定位服务正在初始化,在一段时间后,状态会切换回来。
Running
Location service is running and locations could be queried. 位置服务正在运行,位置可以获取。
Failed
Location service failed (user denied access to location service). 位置服务失败(用户拒绝访问位置服务)。
Input.location.lastData 来实现的。服务不能马上获得定位数据。代码必须检查Input.location.status以获取当前的定位服务状态。using UnityEngine;
using System.Collections;public class TestLocationService : MonoBehaviour
{IEnumerator Start(){// First, check if user has location service enabledif (!Input.location.isEnabledByUser)yield break;// Start service before querying locationInput.location.Start();// Wait until service initializesint maxWait = 20;while (Input.location.status == LocationServiceStatus.Initializing && maxWait > 0){yield return new WaitForSeconds(1);maxWait--;}// Service didn't initialize in 20 secondsif (maxWait < 1){print("Timed out");yield break;}// Connection has failedif (Input.location.status == LocationServiceStatus.Failed){print("Unable to determine device location");yield break;}else{// Access granted and location value could be retrievedprint("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 continuouslyInput.location.Stop();}
}
问题跟踪:
本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!
