Google Maps View アセットを使ってつまずいた点


背景

最近、Unity でスプリングセールが開催されておりまして、その中で、「Google Maps View」というものも対象になっていましたので購入してみたことが始まりでした

試行錯誤

アセットに含まれるサンプルシーンを実機で動かそうとあれやこれやをしてみることにしました。使用した環境は以下の通り。

OS: Windows10 64bit
Unity: 2019.3.10f1
Smartphone: Sony Xperia Z5

とりあえず、マップが表示されるところまで行ったのですが、現在進行系を含めていくつかの場面でつまりました…。

ビルドがストールする(謎)

最初から完全に想定外でしたが、数回目のビルドでいきなりビルドがストールしました。
ストールしたのはサンプルシーンをビルドしようとした瞬間。そこから完全にUnityが固まってしまい、結局タスクマネージャーでプロセス落とさないといけない事態に陥りました。

とにかく原因を整理しようと、新しいプロジェクトでビルドすると問題なく完了して実機でアプリが動きました。

続いて、Unity2018 ではどうかと試してみたのですが、ビルドは完了できる。

この先は…と思ったのですが睡魔に勝てずそのまま就寝。

…そして、後日ビルドしてみると… 問題なくできました

変更したのは、「プレイヤー設定」→「公開設定」→「ビルド」の「Custom Main Manifest」のチェックを外したことだけ…はて、何が原因だったのか頭を抱える日々です。

マップが表示されない(解決)

さて、Unity2019 でビルドできて実機で検証できるようになったのですが、今度は マップが表示されない

またしても孔明の罠か! と思いましたが、単純なミスでした。

試行錯誤をしているうちに、 パッケージ名を変えていたのを忘れていた のです。

このアセットは Google Map API の認証を Google Cloud Platform のダッシュボードページで設定するのがマストなのですが、 SHA-1 フィンガープリントを登録しているパッケージ名と違ったものにしていました。

パッケージ名を適切なものにすると無事マップが表示されました…。

朝なのにマップがナイトモード(解決)

実はこのプログラムが動いたのがこの原稿を書いているちょっと前(午前7時)でして、マップは昼間のものを描画しているはずなのですが、なぜか表示されるのはナイトモード。どう見ても違和感がありすぎます。

おそらく、アプリの中では「現在は夜」だからこうなっているのは容易に想像はつくのですが、これを踏まえると、「アプリの時間帯が GMT で固定されていない?」という仮定が生まれました。

色々調べてみたいことはあるのですが、他にやりたいこともあるので、とりあえずサポートの Discord に丸投げ問い合わせしてみて、今返事待ち中です(おい!)。

追記

Discord での質問にリプライが付きました。

Discord 上での回答

すると、マップの色分けは自動的に変わるのではなく、設定用の JSON を組み込むことであの色設定を行っていたようです。わたしたちがよく見る Google Map の表示は、

[]

と記述すれば OK だそうです。実際に設定したら、見た目がいつものマップ画面になりました。

ということで、本件はここで解決です。

さいごに

こういう悪戦苦闘は楽しい