4

有没有办法在 Unity 3D 中但在移动设备(Android 和 iOS)上显示谷歌地图(甚至其他地图也可以)?

即使是付费插件也可以。

4

3 回答 3

5

您可以使用 Unity 的WWW.texture和 Google 的静态地图 API将其地图渲染为 GameObject 上的纹理。对于我的例子,我使用了一架飞机,没什么特别的。我在示例中使用的图像 URL 直接取自 Google API 页面。请注意,您需要使用自己的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;
}
}
于 2013-05-27T05:34:44.263 回答
1

前段时间,我开始为 unity3d 开发基于地图的框架:ActionStreetMap。当前版本 (0.7) 支持以下功能:

  • 使用 OpenStreetMap (OSM) 数据通过地形平铺方法实时渲染给定位置的不同模型(例如建筑物、道路、公园、河流、POI 等)。
  • 离线和在线模式。
  • 具有数据高程模型 (SRTM) 文件的非平坦地形。
  • 通过类似 mapcss的文件轻松定制。
  • 城市环境的修改(地形陨石坑,腐败的建筑物等)。
  • 适用于大面积的快速 2D 概览模式。
  • 针对移动(VR?)设备。

您可以在此处找到 Web 演示版本。

于 2015-06-14T22:11:13.297 回答
0

我的插件谷歌地图视图正是这样做的:https ://assetstore.unity.com/packages/tools/integration/google-maps-view-82542

适用于 Android 和 iOS。这是原生视图,因此性能非常好。唯一的限制是您不能在其上显示 Unity 场景对象。

于 2018-10-28T18:55:30.287 回答