using UnityEngine;
using System.Collections;
using UnityEngine.UI;
public class GPSManager : MonoBehaviour
{
public Text txt;
public void GetGPS ()
{
StartCoroutine (StartGPS ());
}
IEnumerator StartGPS ()
{
txt.text = "开始获取GPS信息";
// 检查位置服务是否可用
if (!Input.location.isEnabledByUser) {
txt.text = "位置服务不可用";
yield break;
}
// 查询位置之前先开启位置服务
txt.text = "启动位置服务";
Input.location.Start ();
// 等待服务初始化
int maxWait = 20;
while (Input.location.status == LocationServiceStatus.Initializing && maxWait > 0) {
txt.text = Input.location.status.ToString () + ">>>" + maxWait.ToString ();
yield return new WaitForSeconds (1);
maxWait--;
}
// 服务初始化超时
if (maxWait < 1) {
txt.text = "服务初始化超时";
yield break;
}
// 连接失败
if (Input.location.status == LocationServiceStatus.Failed) {
txt.text = "无法确定设备位置";
yield break;
} else {
txt.text = "Location: \r\n" +
"纬度:" + Input.location.lastData.latitude + "\r\n" +
"经度:" + Input.location.lastData.longitude + "\r\n" +
"海拔:" + Input.location.lastData.altitude + "\r\n" +
"水平精度:" + Input.location.lastData.horizontalAccuracy + "\r\n" +
"垂直精度:" + Input.location.lastData.verticalAccuracy + "\r\n" +
"时间戳:" + Input.location.lastData.timestamp;
}
// 停止服务,如果没必要继续更新位置,(为了省电)
Input.location.Stop ();
}
}
Unity3d,获取GPS定位信息
原创
©著作权归作者所有:来自51CTO博客作者生活在他方的原创作品,请联系作者获取转载授权,否则将追究法律责任
提问和评论都可以,用心的回复会被更多人看到
评论
发布评论
相关文章
-
Android平台Unity3D下如何同时播放多路RTMP|RTSP流?
技术背景好多开发者,提到希望在Unity的Android头显终端,播放2路以上RTMP或RTSP流,在设备性能一般的情况下,对Unity下的RTMP|RTSP播放器提出了更高的要求。实际上,我们在前几年发布Unity下直播播放模块的时候,就已经支持了Android多实例播放RTMP|RTSP,随着大家对这块的技术诉求和性能要求越来越高,我们需要持续考虑如何低资源占用的播放多实例流。实现思路目前,我
Unity3D rtmp播放器 Unity3D rtsp播放器 unity rtsp播放器 unity rtmp播放器 大牛直播SDK