unity通過GPS定位
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using System.Net;
using System.Xml;
using System.IO;
using System.Text;
using UnityEngine.UI;
public class NewBehaviourScript : MonoBehaviour {
public string gps_info = "";
public int flash_num = 1;
// Use this for initialization
void Start () {
}
// Update is called once per frame
void Update () {
}
void OnGUI(){
GUI.skin.label.fontSize = 25;
GUI.Label (new Rect (20, 20, 600, 48), this.gps_info);
GUI.Label (new Rect (20, 50, 600, 48), this.flash_num.ToString());
GUI.skin.button.fontSize = 50;
if (GUI.Button(new Rect(Screen.width/2-110,200,220,85),"GPS定位")) {
StartCoroutine ("StartGPS");
}
if (GUI.Button(new Rect(Screen.width/2-110,500,220,85),"刷新GPS")) {
this.gps_info = "N" + Input.location.lastData.latitude + "E" + Input.location.lastData.longitude;
this.gps_info = gps_info + "Time" + Input.location.lastData.timestamp;
this.flash_num += 1;
}
}
void StopGPS(){
Input.location.Stop ();
}
IEnumerator StartGPS(){
if (!Input.location.isEnabledByUser) {
this.gps_info = "isEnabledByUser value is:" + Input.location.isEnabledByUser.ToString() + "Please trun on this GPS";
//return false;
}
Input.location.Start (10.0f,10.0f);
int maxWait = 20;
while (Input.location.status == LocationServiceStatus.Initializing && maxWait >0) {
yield return new WaitForSeconds (1);
maxWait--;
}
if (maxWait<1) {
this.gps_info = "Init GPS service time out";
//return false;
}
if (Input.location.status == LocationServiceStatus.Failed) {
this.gps_info = "Unable to determine device location";
//return false;
} else {
this.gps_info = "N:" + Input.location.lastData.latitude + "E:" + Input.location.lastData.longitude;
this.gps_info = this.gps_info + "Time:" + Input.location.lastData.timestamp;
yield return new WaitForSeconds (100);
}
}
}
using System.Collections.Generic;
using UnityEngine;
using System.Net;
using System.Xml;
using System.IO;
using System.Text;
using UnityEngine.UI;
public class NewBehaviourScript : MonoBehaviour {
public string gps_info = "";
public int flash_num = 1;
// Use this for initialization
void Start () {
}
// Update is called once per frame
void Update () {
}
void OnGUI(){
GUI.skin.label.fontSize = 25;
GUI.Label (new Rect (20, 20, 600, 48), this.gps_info);
GUI.Label (new Rect (20, 50, 600, 48), this.flash_num.ToString());
GUI.skin.button.fontSize = 50;
if (GUI.Button(new Rect(Screen.width/2-110,200,220,85),"GPS定位")) {
StartCoroutine ("StartGPS");
}
if (GUI.Button(new Rect(Screen.width/2-110,500,220,85),"刷新GPS")) {
this.gps_info = "N" + Input.location.lastData.latitude + "E" + Input.location.lastData.longitude;
this.gps_info = gps_info + "Time" + Input.location.lastData.timestamp;
this.flash_num += 1;
}
}
void StopGPS(){
Input.location.Stop ();
}
IEnumerator StartGPS(){
if (!Input.location.isEnabledByUser) {
this.gps_info = "isEnabledByUser value is:" + Input.location.isEnabledByUser.ToString() + "Please trun on this GPS";
//return false;
}
Input.location.Start (10.0f,10.0f);
int maxWait = 20;
while (Input.location.status == LocationServiceStatus.Initializing && maxWait >0) {
yield return new WaitForSeconds (1);
maxWait--;
}
if (maxWait<1) {
this.gps_info = "Init GPS service time out";
//return false;
}
if (Input.location.status == LocationServiceStatus.Failed) {
this.gps_info = "Unable to determine device location";
//return false;
} else {
this.gps_info = "N:" + Input.location.lastData.latitude + "E:" + Input.location.lastData.longitude;
this.gps_info = this.gps_info + "Time:" + Input.location.lastData.timestamp;
yield return new WaitForSeconds (100);
}
}
}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.