public function Start(desiredAccuracyInMeters:
float = 10f,
updateDistanceInMeters: float = 10f):
void;
public void Start(float desiredAccuracyInMeters = 10f,
float updateDistanceInMeters = 10f);
public
def Start(desiredAccuracyInMeters as float = 10f,
updateDistanceInMeters as float = 10f)
as void
Input.location.lastData
により取得できます。
サービス開始時にロケーションデータは直ちに送信されません。
現在のサービスステータスを確認するには コード中で Input.location.status
をチェックして下さい。
desiredAccuracyInMeters - サービスの精度をメートル単位で指定。
500 メートルなど より高い値に設定することで GPS チップをオンにしておく必要がなくなるため
バッテリー容量を節約します。5-10 メートルの値にすることでより精度が得られます。
デフォルトは 10 メートル。
updateDistanceInMeters - Input.location
プロパティが更新されるための最小距離として
どれだけ横方向に移動する必要があるかをメートル単位で指定します。
500 メートルなど より高い値にすることでオーバーヘッドが少なくなります。デフォルトは 10
メートルです。
function Start () {
// First, check if user has location service enabled
if (!Input.location.isEnabledByUser)
return;
// Start service before querying location
Input.location.Start ();
// Wait until service initializes
var maxWait : int = 20;
while (Input.location.status
== LocationServiceStatus.Initializing && maxWait > 0) {
yield WaitForSeconds (1);
maxWait--;
}
// Service didn't initialize in 20 seconds
if (maxWait < 1) {
print ("Timed out");
return;
}
// Connection has failed
if (Input.location.status == LocationServiceStatus.Failed) {
print ("Unable to determine device location");
return;
}
// Access granted and location value could be retrieved
else {
print ("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 continuously
Input.location.Stop ();
}
using UnityEngine;
using System.Collections;
public class ExampleClass : MonoBehaviour {
IEnumerator Start() {
if (!Input.location.isEnabledByUser)
return;
Input.location.Start();
int maxWait = 20;
while (Input.location.status == LocationServiceStatus.Initializing && maxWait > 0) {
yield return new WaitForSeconds(1);
maxWait--;
}
if (maxWait < 1) {
print("Timed out");
return;
}
if (Input.location.status == LocationServiceStatus.Failed) {
print("Unable to determine device location");
return;
} else
print("Location: " + Input.location.lastData.latitude + " " + Input.location.lastData.longitude + " " + Input.location.lastData.altitude + " " + Input.location.lastData.horizontalAccuracy + " " + Input.location.lastData.timestamp);
Input.location.Stop();
}
}
import UnityEngine
import System.Collections
public class ExampleClass(MonoBehaviour):
def Start() as IEnumerator:
if not Input.location.isEnabledByUser:
return
Input.location.Start()
maxWait as int = 20
while (Input.location.status == LocationServiceStatus.Initializing) and (maxWait > 0):
yield WaitForSeconds(1)
maxWait--
if maxWait < 1:
print('Timed out')
return
if Input.location.status == LocationServiceStatus.Failed:
print('Unable to determine device location')
return
else:
print(((((((((('Location: ' + Input.location.lastData.latitude) + ' ') + Input.location.lastData.longitude) + ' ') + Input.location.lastData.altitude) + ' ') + Input.location.lastData.horizontalAccuracy) + ' ') + Input.location.lastData.timestamp))
Input.location.Stop()