ロケーションの更新を開始します。最後の位置座標になります。
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 TestLocationService : MonoBehaviour { IEnumerator Start() { // First, check if user has location service enabled if (!Input.location.isEnabledByUser) yield break;
// Start service before querying location Input.location.Start();
// Wait until service initializes int maxWait = 20; while (Input.location.status == LocationServiceStatus.Initializing && maxWait > 0) { yield return new WaitForSeconds(1); maxWait--; }
// Service didn't initialize in 20 seconds if (maxWait < 1) { print("Timed out"); yield break; }
// Connection has failed if (Input.location.status == LocationServiceStatus.Failed) { print("Unable to determine device location"); yield break; } else { // Access granted and location value could be retrieved 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(); } }