質問: 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); } // Stop service if there is no need to query location updates continuously Input.location.Stop(); } } 上記コードはUnityでGPSの値をとるスクリプトなのですが、かならずInput.location.lastData.altitudeの値(高度)がゼロになってしまいます。 端末はAndroidです。何がいけないのでしょう。 緯度経度はとれます。
回答: * 他のアプリなどを用いて、本当にその端末で高度が取得出来るか確認してください。 (高度センサーが入っていない機種かもしれません) * 他のアプリなどを用いて、計測中の場所の高度を正しく取得してください。 (実際の高度が0かもしれません) * `Input.location.Start();`に引数を与えない場合、計測精度は「10mごと」となります。実際の高度が0〜10mの場合は0と表示されることになります。 Unity - スクリプトリファレンス: LocationService.Start→「desiredAccuracyInMeters」が高度の精度指定 スクリプトを記載する際は「```」で囲んでください。 またはコードを選択して入力欄上部の「>」ボタンを押すと自動的に囲まれます。