Unity 3D でモバイル デバイス (Android と iOS の両方) で Google マップ (他のマップでも問題ありません) を表示する方法はありますか?
有料プラグインでもOK。
Unity のWWW.textureと Google の静的マップ APIを使用して、マップをゲームオブジェクトのテクスチャとしてレンダリングできます。私の例では、飛行機を使用しましたが、派手なものは何もありません。この例で使用した画像の URL は、Google API ページから直接取得したものです。1 つ注意してください。独自のAPI キーを使用する必要があります。その値は空白のままにしています。API キーなしでこの例を実行すると、403 エラーが発生します。
using UnityEngine;
using System.Collections;
public class GoogleMaps : MonoBehaviour {
string exampleUrl = "http://maps.googleapis.com/maps/api/staticmap?center=Brooklyn+Bridge,"+
"New+York,NY&zoom=13&size=600x300&maptype=roadmap&markers=color:blue%7Clabel:S%7C40.702147,-74.015794"+
"&markers=color:green%7Clabel:G%7C40.711614,-74.012318"+
"&markers=color:red%7Ccolor:red%7Clabel:C%7C40.718217,-73.998284"+
"&sensor=false";
string key = "&key=YOUR_API_KEY"; //put your own API key here.
IEnumerator Start() {
WWW www = new WWW(exampleUrl+key);
yield return www;
renderer.material.mainTexture = www.texture;
}
}
少し前に、 unity3d の地図ベースのフレームワークである ActionStreetMap に取り組み始めました。現在のバージョン (0.7) は、次の機能をサポートしています。
ここでWeb デモ ビルドを見つけることができます。
私のプラグイン Google Maps View はまさにこれを行います: https://assetstore.unity.com/packages/tools/integration/google-maps-view-82542
Android と iOS で動作します。ネイティブビューなので、パフォーマンスは素晴らしいです。唯一の制限は、その上に Unity シーン オブジェクトを表示できないことです。