LoginSignup
0
0

More than 3 years have passed since last update.

Unity Remote で緯度経度を取得するときは、少し待ってから!

Posted at

Unity Remote で緯度経度取得しようとしたけど、うまくできなかった人はいないでしょうか?
私は最初はまったので、その対応の記事です。

TL;DR

起動後すぐアクセスするのではなく、少し待ってから!取得するようにしましょう。

はじめに

Unity Remote を導入しようという方は、
Unity Remoteを導入・使用したので覚え書き(Android) が参考になるかと思います。
私もこちらの記事を参考にはじめました。

導入したけど、緯度経度が取得できない人へ

まず以下2点ご確認ください。

  1. 設定してから、Unity Editor 再起動しましたか?してなかったら一度再起動してみてください。
  2. 携帯にインストールしたアプリ(Unity Remote 5)に、位置情報の取得を許可していますか?

それでも、緯度経度が取得できない人へ

こんな感じでプログラムしていませんか?
以下プログラムは実機だと動きますが、Unity Remote だと正常に動きません。

    void Start()
    {
        Input.location.Start();

        await UniTask
            .WaitUntil(() => Input.location.status == LocationServiceStatus.Running)
            .Timeout(TimeSpan.FromSeconds(10));

        var lat = Input.location.lastData.latitude;
        var lng = Input.location.lastData.longitude;

        Debug.Log($"{lat}, {lng});
    }

最初に少し待ってから! ということでした。。。
(大事なことなので三回目です)

    void Start()
    {
        // ここの5秒待ちが超重要!!!
        await UniTask.Delay(5000);

        Input.location.Start();

        await UniTask
            .WaitUntil(() => Input.location.status == LocationServiceStatus.Running)
            .Timeout(TimeSpan.FromSeconds(10));

        var lat = Input.location.lastData.latitude;
        var lng = Input.location.lastData.longitude;

        Debug.Log($"{lat}, {lng});
    }
0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0