在移动设备上使用Unity显示Google地图

4

有没有办法在Unity 3D中展示Google Maps(不同的地图也可以)但是在移动设备上(包括Android和iOS)?

即使是付费插件也可以。

3个回答

5
你可以使用Unity的WWW.texture和Google的静态地图API将地图渲染为游戏对象上的纹理。在我的示例中,我使用了一个平面,没有太多花哨的东西。我在示例中使用的图片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;
}
}

这很有趣。但是,如果我们想要像真正的GPS一样进行常量更新怎么办?例如,如果我们提供经度和纬度。 - sooon
如果您想让地图随着GPS移动,您需要一个“Slippy map”。这是一个:https://github.com/jderrough/UnitySlippyMap - ShawnFeatherly

1

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

  • 使用OpenStreetMap(OSM)数据在地形平铺方式下动态渲染不同模型(例如建筑物、道路、公园、河流、POI等)。
  • 离线和在线模式。
  • 使用数据高程模型(SRTM)文件实现非平坦地形。
  • 通过类似mapcss文件的简单自定义。
  • 修改城市环境(地形弹坑、破损建筑等)。
  • 快速的大区域2D概览模式。
  • 面向移动设备(VR?)。

您可以在这里找到Web演示构建此处


0

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接