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でカメラに映るまで敵を動かさないようにする

これで、カメラに映るまで敵は動かず、カメラに映ったら動くようになります

no image

AssetStoreの使い方

AssetStoreを開く Window → AssetStoreをおします 素材を検索する 検索のアドバイス キャラクターをいれたい : Character テクスチャをいれたい : Texture …

UnityでTilemapを使って2Dステージを作る

Tilemapとは? マップチップを登録してお手軽に2Dマップが作れるツールです Tilemapに使う素材を入れる

no image

UnityRemoteで起動するスマホを指定する

スマホをPCに接続します Edit → ProjectSettings をおします Editor → Noneをおして、 iPhoneならiPhoneの機種、 androidなら Any androi …

小学生でもわかるUnity講座

このページでは小学生でもわかるを目指してUnityの解説を行っています 分からなかった場合、遠慮なくこちらに連絡ください♪ 目次 Unity基本操作 Unityチュートリアル Scratch → Un …

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

  • 65542総閲覧数:
  • 107今日の閲覧数:
  • 45922総訪問者数:
  • 93今日の訪問者数:

住所
Akita,Japan

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

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

getabakosensei@gmail.com