有没有办法在Unity 3D中显示谷歌地图(甚至其他地图应该没问题),但在移动设备上(Android和iOS)?
即使付费插件也可以。
答案 0 :(得分:5)
您可以使用Unity的WWW.texture和Google的static maps API将其地图渲染为GameObject上的纹理。在我的例子中,我使用了一架飞机,没什么特别的。我在我的示例中使用的图片网址是直接从Google API页面获取的。请注意,您需要使用自己的API key,我将该值留空。如果您在没有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;
}
}
答案 1 :(得分:1)
前段时间,我开始为{3}}处理unity3d:ActionStreetMap。当前版本(0.7)支持以下功能:
您可以找到网络演示版mapcss。
答案 2 :(得分:0)
我的插件Google Maps View正是这样做的:https://assetstore.unity.com/packages/tools/integration/google-maps-view-82542
可在Android和iOS上使用。这是本机视图,因此性能出色。唯一的限制是您不能在其顶部显示Unity场景对象。