🎄teratailクリスマスプレゼントキャンペーン2024🎄』開催中!

\teratail特別グッズやAmazonギフトカード最大2,000円分が当たる!/

詳細はこちら
Google API

Googleは多種多様なAPIを提供していて、その多くはウェブ開発者向けのAPIです。それらのAPIは消費者に人気なGoogleのサービス(Google Maps, Google Earth, AdSense, Adwords, Google Apps,YouTube等)に基づいています。

C#

C#はマルチパラダイムプログラミング言語の1つで、命令形・宣言型・関数型・ジェネリック型・コンポーネント指向・オブジェクティブ指向のプログラミング開発すべてに対応しています。

Unity

Unityは、Unity Technologiesが開発・販売している、IDEを内蔵するゲームエンジンです。主にC#を用いたプログラミングでコンテンツの開発が可能です。

Q&A

解決済

1回答

1505閲覧

Unity上で座標情報を取得したい

ameshikou

総合スコア8

Google API

Googleは多種多様なAPIを提供していて、その多くはウェブ開発者向けのAPIです。それらのAPIは消費者に人気なGoogleのサービス(Google Maps, Google Earth, AdSense, Adwords, Google Apps,YouTube等)に基づいています。

C#

C#はマルチパラダイムプログラミング言語の1つで、命令形・宣言型・関数型・ジェネリック型・コンポーネント指向・オブジェクティブ指向のプログラミング開発すべてに対応しています。

Unity

Unityは、Unity Technologiesが開発・販売している、IDEを内蔵するゲームエンジンです。主にC#を用いたプログラミングでコンテンツの開発が可能です。

0グッド

0クリップ

投稿2021/01/21 00:26

編集2021/01/21 01:24

現在、GoogleMapAPIを使って、GPS情報を取得して3Dジオラマ上に現在地をマーカーで表示するコンテンツを製作しています。
ジオラマ表示させているのは、こちらで決めた範囲のみで、その範囲のマップのデータを取ろうと思っています。
しかし、下記のURLのスクリプトを参考にプログラムを組んだところ、Imageには赤く「?」が表示されてしまいます。
Unity Remote 5でPCとつなげて実行してみても変わりませんでした。
スクリプト自体にエラーはないので、位置情報取得のところで失敗していると思うのですが、何か解決策があるでしょうか?

それとも、そもそもWindowsPC上で作成しているので、PC上で実行しても位置情報は取得できないということでしょうか?
いろいろな方のサイトを見ていると、位置情報の取得ができているようなのですが・・・。

スクリプトで参考にさせていただいたサイトのURLはこちらです。
https://tech.mobilefactory.jp/entry/2018/12/18/110000
ここでは、実行画面の画像もあって、ちゃんと実行できているようなのです。

どうかよろしくお願いします。

バージョン:Unity2019.1.4f1
使用ツール:GoogleCloudPlatformのMaps Static APIのみ有効化
希望実行端末:iPhone

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

lazh

2021/01/21 02:15

Inspectorウィンドウから緯度経度APIキー指定する必要があるみたいですが、指定はされてますか?
ameshikou

2021/01/21 02:20

ご指摘ありがとうございます。 はい。URLのサイトの通りに、表示したい範囲の中心の緯度経度の座標と、自分のAPIキーをきちんと指定しています。APIキーの制限もアプリケーションの制限もかけてません。
lazh

2021/01/21 03:02 編集

Url = Uri.EscapeUriString(Url); の下に Debug.Log(Url); を入れてEditorのコンソールに出たURLをブラウザに入力してみてください 制限なしなら地図画像が出ると思います 一応自分の環境だとコピペそのままで動きましたが、 APIの無料期間?みたいなのが終わってて、アップグレードしないと同じように赤い?が出ました
ameshikou

2021/01/21 07:16

返信ありがとうございます。 もう一度APIキーを入れ直して、何回か実行したところ、成功したり失敗したりしました。 Mapも表示されても、指定した座標とは全然違うところが表示されたりしました。でも一応動いてはいるのだと思います。 それと、これはまた別の質問になるのですが、今はImageにMapを表示してます。これをPlaneに表示するにはプログラムをどう改変すればいいでしょうか?お手数でなければそちらもよろしくお願いします。
lazh

2021/01/21 07:29

うーん通信環境が悪いんでしょうか... 成功するまでループ、一定時間経過でエラー表示とかに変えるといいかもしれないですね >Plane ShaderをUnlit/TextureにしたマテリアルをPlaneに設定してください そして GetComponent<Image>().sprite = Sprite.Create(tex, new Rect(0, 0, tex.width, tex.height), Vector2.zero); ↓ GetComponent<Renderer>().material.mainTexture = tex; に変える とりあえずそれで表示されます 反転してたらTilingを-1に変えるといいと思います
ameshikou

2021/01/21 22:05

とりあえず、失敗したらAPIキーを入力し直すことでうまくいくようになりました。 Planeへの表示もうまくいきました。 ご協力いただきありがとうございました!
lazh

2021/01/22 03:14

では自己解決扱いでいいので何をどうしたのかを書いて解決済にしておいてください
ameshikou

2021/01/22 03:17

わかりました。いろいろご指摘ありがとうございます!
guest

回答1

0

自己解決

スクリプトを右クリックしてResetし、APIキーをきちんと入力し直して実行したら、しっかりMAPが表示されました。

また、プログラムの座標のを書き換える場合には、プログラム変更後、Inspectorにあるスクリプトを右クリックし、「Reset」を押します。
改めてAPIキーを入力しないといけないので、APIキーを入力し、実行します。

Imageに表示すのは時々失敗しましたが、Planeに表示するようにしたら、失敗はなくなりました。

解決に協力してくださった方、ありがとうございました。

投稿2021/01/22 03:30

ameshikou

総合スコア8

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.36%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問