Unity3d对接谷歌地图(iOS篇)

因为工作中接触到了外企的项目,需要使用谷歌地图,国内用百度或者腾讯地图做开发的比较多,起初在弄的时候也是几乎没有找到任何中文的参考资料,这里算是给能看到我博客的并且也需要这方面开发的人一些详细的梳理性的思路吧

嘛,因为我做的是ios的对接,所以本文不牵扯到安卓,不过大体我想应该也只需要一个自定义的jar包,重头戏还是在对接的配置上,也就是我下文需要详细说明的点

首先开发谷歌地图,你需要,至少我这是打不开谷歌地图的官网,至于用什么。。。这里不做过多的阐述

你需要知道unity3d如何与ios对接,这里请移步至雨凇sama的博客自行了解 http://www.xuanyusong.com/archives/517

下面我们打开谷歌地图开发的网站,https://developers.google.com/maps/documentation/ios/start#getting_the_google_maps_sdk_for_ios

这里我需要特别说明一点,谷歌地图有2个名字很像的sdk,一个叫做 google maps sdk for ios 另一个叫做 google maps mobile sdks for work。。。,因为for work的

这个sdk有直接下载sdk包的地方,所以当初我也没有多想就下了直接用,结果用错了,这个sdk应该是一个商业化需要另外收费的包,而且用了这个包之后按照一般的

开发流程到了运行的时候就会一直提示key和项目的bundle id不对应,自己也是浪费了好几天时间在这上面,stackoverflow上面很多老外也是没有分清楚work版本和一

般free版本,在论坛上各种询问如何解决key无效的问题,这里提醒大家一定要注意,点醒我的那一篇帖子的地址上 http://stackoverflow.com/questions/24830571/google-

maps-your-key-may-be-invalid-for-your-bundle-id

好了下面我们正式从free版本的sdk开始入手

首先你需要下载sdk,那么可能很多人还没开始入手就已经郁闷了,从1.9.2之后的版本开始,sdk就不是以压缩包的形式提供下载了,(如果大家能够找到之前版

本的压缩包,那就直接跳过下载sdk的部分),官方给的解答是sdk要从CocoaPods上面直接下载使用,没办法接下来我们去弄CocoaPods,想要安装CocoaPods,首先需

要有Ruby环境,好的持续崩溃中,我们去安装Ruby环境。。。http://blog.csdn.net/li_huifeng/article/details/44456925 直接给出链接,安装好Ruby环境之后,我们开始安

CocoaPods, http://code4app.com/article/cocoapods-install-usage这里也给出链接不做过多阐述,2篇文章都写的很清楚。

环境都配置好之后,我们找到u3d导出的xcode工程在文件夹中的位置,在根目录下新建一个文件,取名为Podfile(注意不要有后缀名),打开它,输入pod  ‘Google-

Maps-iOS-SDK’,'1.9.2' 意思是我要下载1.9.2版本的sdk(本来是想下载最新10版本的,可是一直链接不上服务器,没办法只好下载1.9.2的版本,也一样可以使用没有问

题),保存文件之后,我们在终端进入到刚刚有Podfile文件的文件夹,输入pod install命令,等待sdk的下载,下载好了之后,你会发现在“Unity-iPhone.xcodeproj”旁

边,多了一个“Unity-iPhone.xcworkspace”文件,如果需要使用地图,那么我们之后就必须使用新出现的xcworkspace文件,打开一样是xcode工程,只是多了谷歌地图的

sdk,有点像eclipse里面安卓项目关联一个工程包一样。

到这里我们的谷歌地图sdk就已经成功集成在我们的项目里面了,下面就是去申请key,我们打开https://code.google.com/apis/console/b/0/?

noredirect#project:506537762569:services(这是我自己的地址,你们进去之后用谷歌账号登录自己的就可以),在这里你需要在srivices处打开google maps sdks for iOS

权限,然后在api access处用自己项目的bundle id新建一个for iOS的key

这篇博文就写到这了,有的人可能会说你这一点代码都没给我们,我们怎么用呀,实在不好意思,我写这篇文章的目的只是希望给没有思路的人一点提示,我相信只要你能耐

下心来按照我的步骤做下去,你的环境一定可以配置好,至于u3d怎么对接ios,谷歌地图具体如何开发,我给的网址链接也已经很详细了,我希望大家沉下心来去动手弄一弄,毕

竟谷歌地图具体开发是你们自己的工作嘛。

ps(这里给一个小提示,谷歌地图的显示跟一般的ios的view需要显示在u3d中是一样的,add一个subview即可,具体可以参考上文雨凇sama的博文)




你可能感兴趣的:(unity3d)