如何使用Google Map API开发Android地图应用
两年前开发过的GoogleMap已经大变样,最近有项目要用到GoogleMap,重新来配置Android GoogleMap开发环境,还真是踩了不少坑。
一、下载Android SDK Manager(& Proxy Setting)
此小节详见 Android开发环境搭建之AndroidStudio
二、安装Google Play Services SDK、Google APIs Platform(19)
由于SDK下载需要FQ,因此需要配置代理镜像[http://www.androiddevtools.cn/ (腾讯Bugly 镜像)]
开发Google的相关功能需要下载集成了Google APIs的SDK Platform; 另外Google Map SDK集成在Google Play Services SDK中,因此需要安装。


三、申请Google Map API key(Android)
申请方法有两种,前提是拥有Google Account,并注册Google AppEngine。
其一是用AndroidStudio创建一个GoogleMap项目(Android项目包名: com.s3graphics),根据生成的google_maps_api.xml文件中提供的APIKey申请链接跳转到Google AppEngine;根据提示创建一个GAE google-map项目,完成后即可生成AndroidKey。注:APIKey申请链接中包含了SHA1和Android项目包名。
其二是在Google Projects创建一个GAE google-map项目,然后在该项目中添加一个AndroidKey;再用keytool工具在本地生成SHA1后,将SHA1与Android项目包名添加到AndroidKey中。
两种申请方法一致,只是第一种是由AndroidStudio生成SHA1和申请链接,简化AndroidKey申请过程。
申请到API Key后将AndroidKey中的key值添加到AndroidStudio google_maps_api.xml文件中,即可进行开发。
下面用图来描述第二种申请Key的具体过程。
1.进入Google Projects,并创建google-map项目

2.为google-map项目添加AndroidKey

3.使用keytool根据Android debug.keystore生成SHA1信息


4.将包名和SHA1信息添加到AndroidKey中

四、Genymotion安装Google Services
由于AVD运行速度慢,推荐使用Genymotion+Google Services。因为Genymotion不包含Google Services,需要手动安装补丁包。
1.Genymotion-ARM-Translation_v1.1.zip 下载
2.gapps-lp-20141109-signed.zip(for Android 4.4) 下载
安装方法:如果链接无法打开请使用goagent-crack代理(具体教程可查看Go-Agent部署与FQ)。
adb push Genymotion-ARM-Translation_v1.1.zip /sdcard/Download/
adb push gapps-lp-20141109-signed.zip /sdcard/Download/
adb shell "/system/bin/flash-archive.sh /sdcard/Download/Genymotion-ARM-Translation_v1.1.zip"
adb shell "/system/bin/flash-archive.sh /sdcard/Download/gapps-lp-20141109-signed.zip"
adb reboot
3.安装完成上述两个包后,需要使用Google Account更新Genymotion中Google相关软件,如Google PlayStore/Google Maps




注意:更新过程中可能遇到的网络问题。
1.更新需要连接外网,可使用Charles+Go-Agent代理实现。
大致原理如下:Genymotion网络走PC Charles,Charles网络走Go-Agent。
(尝试过Genymotion直接设置Go-Agent代理,但由于Gemymotion内Go-Agent证书问题失败)
开启Charles代理,默认端口8888

开启Charles外部代理,使用GoAgent代理(127.0.0.1:8087),用于解决外网访问问题

Genymotion配置Charles代理(10.0.3.2:8888)
(图中8087为Go-Agent端口,不采用该方式;10.0.3.2是Genymotion中代表PC的IP)

安装Charles证书
(配置好代理IP和端口号后,在浏览器中访问http://www.charlesproxy.com/getssl)

2.需要调整模拟器时间设置,关闭自动更新,并选择正确的时区和时间,否则出现连接错误。

五、编写Android Map应用并运行


经过曲折的GoogleMap Services的安装,Genymotion中Google APIs 的安装,终于可以如愿以偿的开发Google Maps应用了。
不过后面仍然面对真机无法安装Google APIs的问题,主要是针对没有root权限导致。
参考链接:
[SDK Manager] http://developer.android.com/tools/help/sdk-manager.html
[Google APIs] https://console.developers.google.com/apis/library?project=git-blog&hl=en-US
[注册和 API 密钥] https://developers.google.com/maps/documentation/android-api/signup#release-cert
[hellomap-android] https://github.com/googlemaps/hellomap-android
[Google Maps Android API 入门指南]
https://developers.google.com/maps/documentation/android-api/start
[Get Started with Premium Plan on Android]
https://developers.google.com/maps/premium/android-get-started#overview
[Genymotion with Google APIs] https://inthecheesefactory.com/blog/how-to-install-google-services-on-genymotion/en
[Failed to flash file] https://gist.github.com/wbroek/9321145
[Install Google Services on Genymotion]
https://inthecheesefactory.com/blog/how-to-install-google-services-on-genymotion/en
https://guides.codepath.com/android/Genymotion-2.0-Emulators-with-Google-Play-support
[Fix No Connection – Retry error message on Google Play Store App] (FIX DATE AND TIME SETTINGS)
http://wccftech.com/fix-no-connection-retry-error-message-on-google-play-store-app/
http://www.techkhoji.com/no-connection-retry-google-play-store/
如何使用Google Map API开发Android地图应用的更多相关文章
- Google Map API抓取地图坐标信息小程序
因为实验室需要全国城市乡镇的地理坐标,有Execl的地名信息,需要一一查找地方的经纬度.Google Map地图实验室提供自带的查找经纬度的方法,不过需要一个点一个点的手输入,过于繁琐,所以自己利用G ...
- Google Map API使用详解(一)——Google Map开发背景知识
一.谷歌地图主页 谷歌地图对应不同的地区都会有一些专门的主页,首次登陆时会显示这些地区.比如,香港的:http://maps.google.com.hk,台湾的:http://maps.google. ...
- Google Map API 使用总结
Google Map API (一):显示一个最基本的地图 1 实现一个地图:<head>中引用: <script type="text/javascript" ...
- Android中Google地图路径导航,使用mapfragment地图上画出线路(google map api v2)详解
在这篇里我们只聊怎么在android中google map api v2地图上画出路径导航,用mapfragment而不是mapview,至于怎么去申请key,manifest.xml中加入的权限,系 ...
- Android Google Map API使用的八个步骤
本系列教程将分为两部分,第一部分是指导用户使用Mapview控件进行编程,其中包括了如何获得Google Map API,如何使用该API进行简单的开发,如何获得用户当前所在的位置.第二部分则包括如何 ...
- Google Map API V3开发(1)
Google Map API V3开发(1) Google Map API V3开发(2) Google Map API V3开发(3) Google Map API V3开发(4) Google M ...
- Google Map API V3开发(2)
Google Map API V3开发(1) Google Map API V3开发(2) Google Map API V3开发(3) Google Map API V3开发(4) Google M ...
- Google Map API V3开发(3)
Google Map API V3开发(1) Google Map API V3开发(2) Google Map API V3开发(3) Google Map API V3开发(4) Google M ...
- Google Map API V3开发(4)
Google Map API V3开发(1) Google Map API V3开发(2) Google Map API V3开发(3) Google Map API V3开发(4) Google M ...
随机推荐
- Win10安装程序出现error code 2502 2503
在Win10中,在安装msi安装包的时候常常会出现代码为2502.2503的错误.其实这种错误是由于安装权限不足造成的,可以这种msi的安装包不像其他exe的安装程序,在安装包上点击"右键& ...
- ubuntu16.04下安装cuda8.0
一.首先安装NVIDIA显卡驱动 通过NVIDIA-Linux-x86_64-367.44.run文件安装. 1. 添加 PPA. sudo add-apt-repository ppa:graphi ...
- NOIp2014 解题报告
有史以来第一届面向社会征题的NOIp结束了.最开始以为面向社会征题会很难,但是这是我参加的最水的一次NOIp了. 由于停了两月的课,所以现在正在补文化科目就没时间打代码了.所以所有的题目就均不给出代码 ...
- 用命令行来安装mac应用
今天看了下唐巧的博客,发现了这样一种宝贝呀,哈哈,分享一下 命令行工具,brew cask是一个用命令行管理Mac下应用的工具,它是基于homebrew的一个增强工具. brew cask insta ...
- Linux之tomcat日志管理
tomcat 的日志输出catalina.out,变大,可使用下面方式解决. cronolog. http://blog.csdn.net/huang_xw/article/details/61942 ...
- LeetCode之383. Ransom Note
-------------------------------------------- 思路就是进行频率统计. 统计一下第二个字符串字符出现次数++统计一下第一个字符串中字符出现次数--如果出现负数 ...
- FTP协议及工作原理
1. FTP协议 什么是FTP呢?FTP 是 TCP/IP 协议组中的协议之一,是英文File Transfer Protocol的缩写. 该协议是Internet文件传送的基础,它由一系列规格说明文 ...
- Jquery Mobile开发以及Js对象动态绑定
动态创建对象并绑定属性: var instantiate = function (Type, args) { var Constructor = function () { }; Constructo ...
- 8-05分支结构CASE..END
语法: CASE WHEN 条件1 THEN 结果1 WHEN 条件2 THEN 结果2 ...ELSE 其他结果 END 执行顺序: 条件1成立执行结果1 条件2成立执行结果2 如果所有WH ...
- 给定n,a求最大的k,使n!可以被a^k整除但不能被a^(k+1)整除。
题目描述: 给定n,a求最大的k,使n!可以被a^k整除但不能被a^(k+1)整除. 输入: 两个整数n(2<=n<=1000),a(2<=a<=1000) 输出: 一个整数. ...