Unity

UnityでGoogleMapを読み込み、表示させるとこから経路探索まで

投稿日:2019年10月26日 更新日:

はじめに

Unityで現実世界の地図を表示するにはGoogleMapを使うのが便利です
大規模に使用しない限りは無料で使用できますが、登録のためにクレジットカードが必要になりますので、
必ず、用意しておきましょう

もくじ

Google Maps Platformの登録

GoogleMapを使用するために必要です
こちらよりアクセスして、「使ってみる」をおします

マップ、ルート、プレイスの全てにチェックを入れて、続行をおします

Create New Projectをおし、NEXTをおします
この後に、カードの情報を登録するように言われるので、登録しましょう

登録を既にしている場合は、画像のようになるので、「アカウントを設定」をおします

「次へ」をおします

Your API Keyに表示されてる文字がAPIキーになります
こちらは後で使うので、メモ帳とかにコピペしておき、Doneをおします

APIキーの保護を行う場合には、「認証情報を保護」をおします

APIキーが分からなくなったら、認証情報をおせば確認できます
ここまでできたらUnityを開きます

Unityでの操作

画面の比率の設定

※GoogleMapの表示はスマホで行うため、画面比率を設定する必要があります
左下のFreeAspectをおし、16:9を選択します

緯度・経度を表示するTextの作成

こちらは緯度・経度それぞれ使うのでTextは2つ作成します
文字の作成方法や設定についてはこちらを参考にしてください

Canvasの設定

Canvasを選択し、UI Scale ModeをScale With Screen Sizeにします
これによって文字の表示が変になった場合、文字の設定をキレイに見えるように、位置や大きさを調整してください

CanvasのReferenceResolutionのxを1600、yを900にします
※画面の比率に合わせています

GoogleMapを表示するオブジェクトを出す

Create → 3DObject → Planeを選択します

Planeを選択し、Rotationのxを90、yを⁻270、zを-90にします

スクリプトの作成

以下2つのスクリプトを作成します
スクリプトの作成についてはこちらを参考に作成してください
また、スクリプトの内容についてはこちらを拝借させて頂きました
ありがとうございます

緯度・経度を表示するスクリプト

GoogleMapを表示するスクリプト

には、取得したAPIを入れてください

入力例

※APIキーがGetabakoの場合

スクリプトをアタッチ

ShowGPSをCanvasに、StaticMapControllerをPlaneにドラッグ&ドロップします

更に、Canvasを選択し、それぞれのTextをLatitude TextとLongitude Textにドラッグ&ドロップします

テストプレイしてみると

テストプレイはUnityRemote5を使用して行いましょう
GPSはPCのみでは使えないからです

UnityRemoteの使い方はこちらを参考にしてください
緯度と経度が表示されて、GoogleMapが表示されます

目的地までの経路を表示する

経路を表示するためのJSONデータの作成

経路を探索するには膨大なデータがあります。それらを取扱うために別でJSONデータだけ作成し、スクリプトに読み込ませるという方法をとります
コードの書き方は違いますが、GoogleDirectionDataという名前でC#を作成して、以下のスクリプトを入力します

入力するスクリプト

経路探索を行うスクリプトをつけるオブジェクトの作成

Create → CreateEmptyをおす

名前をDirectionControllerにします

InputFieldの作成

目的地を入力するために作成します
Create → UI → InputFieldをおします

InputFieldの位置を丁度いい位置に調整します

経路探索のスクリプト

DirectionControllerスクリプトをDirectionControllerにドラッグ&ドロップします

DirectionControllerスクリプトにInputFieldをドラッグ&ドロップします

StaticMapControllerに追記する

Plane(地図を表示するオブジェクト)を選択し、DirectionControllerをドラッグ&ドロップします

テストプレイをしてみると

目的地を入力するとそこまでの経路が表示されます

このサイトについて

ここには、自己紹介やサイトの紹介、あるいはクレジットの類を書くと良いでしょう。

検索

このサイトについて

ここには、自己紹介やサイトの紹介、あるいはクレジットの類を書くと良いでしょう。

検索

-Unity

執筆者:


comment

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください

関連記事

Unityでメッセージウィンドウでの会話機能を作る

スクリプトを貼りけるための空のオブジェクトの作成 Create → CreateEmptyをおします 名前をMessageControllerにします 会話機能のスクリプトの作成 Messageという …

no image

Unityで3Dシューティングアクションを作ろう①

チュートリアルの内容 3D空間を走り回り、弾を飛ばして敵を倒すゲームを作ります。 今回やること プレイヤーの移動 アニメーションの遷移 カメラの追従 事前に準備するもの プレイヤー(待機アニメーション …

no image

UnityRemoteのダウンロードと設定

PCとスマホを接続してお手軽にVRを楽しんだり実機でテストプレイするにはUnityRemoteというアプリが必要です UnityRemoteはPCと接続してUnityでテストプレイすると画面をスマホに …

no image

Scratch → Unity対応表を使って迷路ゲームを作ってみよう

今回作るゲーム 今回やることの説明 こんな感じの迷路ゲームを作っていきます。 今回はキャラの移動を実装していきます。 それ以外の要素はパッケージに入っているので、 パッケージのPlayerスクリプトに …

UnityVuforiaでARを作る

AR もくじ Vuforiaの設定 Unityの設定 Vuforiaの設定 アカウント登録 こちらよりVufolliaのサイトにいきます 右上のRegisterをおします 名前や会社名(何でもいいです …

ゲタバコ倶楽部へようこそ

  • 85105総閲覧数:
  • 205今日の閲覧数:
  • 60355総訪問者数:
  • 166今日の訪問者数:

住所
Akita,Japan

営業時間
月~日: 10:00 AM – 10:00 PM

このページはゲタバコ先生の日々思うことや活動、プログラミングの習得方法を発信するページです。
仕事のご依頼、メッセージ等、サービス概要をご覧の上で、お気軽にご連絡ください。

getabakosensei@gmail.com