반응형
- 코드 작성
using UnityEngine;
public class LocationManager : MonoBehaviour
{
private void Start()
{
// 위치 서비스가 기기에서 활성화되어 있는지 확인합니다.
if (!Input.location.isEnabledByUser)
{
Debug.LogError("위치 서비스가 활성화되어 있지 않습니다.");
return;
}
// 위치 서비스 업데이트를 시작합니다.
Input.location.Start();
// 위치 서비스가 초기화될 때까지 대기합니다.
int 최대대기시간_초 = 10;
while (Input.location.status == LocationServiceStatus.Initializing && 최대대기시간_초 > 0)
{
최대대기시간_초--;
Debug.Log("위치 서비스 초기화를 기다리는 중...");
System.Threading.Thread.Sleep(1000);
}
// 위치 서비스 초기화가 실패하거나 대기 시간 초과 시
if (최대대기시간_초 <= 0 || Input.location.status == LocationServiceStatus.Failed)
{
Debug.LogError("위치 서비스 초기화에 실패하였습니다.");
return;
}
// 위도, 경도 및 고도를 가져옵니다.
float 위도 = Input.location.lastData.latitude;
float 경도 = Input.location.lastData.longitude;
float 고도 = Input.location.lastData.altitude;
// 위도, 경도 및 고도를 활용하여 작업을 수행합니다.
Debug.Log("위도: " + 위도 + ", 경도: " + 경도 + ", 고도: " + 고도);
}
private void OnDestroy()
{
// 스크립트가 파괴될 때 위치 서비스를 중지합니다.
Input.location.Stop();
}
}
반응형