Google Maps API V2 for Android 上路一之配置地图

来源:互联网 发布:淘宝 发票 搜索什么 编辑:程序博客网 时间:2024/06/05 18:42

已8个月未写博客,懒散至极,余有闲暇,写点心得,以备己用

在android乃至整个手机移动开发中,地图和定位永远都是主流开发中提及率和应用率比较高的技术应用,同时,很多地图api提供者们都把地图和定位做成2个独立的产品在推。

在中国地区,baidu map算是做得最出色的,app的渗透量大,上手也比较方便,当然更方便的还有(腾讯地图api),作为许多google粉和技术控来说,google maps 永远都是开发首选,下面我就android版的Google Maps API(以下简称gms)写下自己的一些心得:

gms 在android里有2个版本,官方是在力推v2版,v1版之前申请了key的用户可以继续使用,官方也继续支持原有的服务,但停止更新服务并停止申请v1的key,官方截图


接下来开始使用v2,首先先申请key,

进入Google APIs Console,找到左侧菜单栏的APIs,然后在右侧的Name列中找到 Google Maps Android API v2项并打开


打开后点APIs下方的Credentials项,然后在右侧找到CREATE NEW KEY按钮,点击


选择你要应用的开发环境,这里我们需要选择Android key,接下来是拼接申请格式串(sha1+分号+app包名)

方法有两种,一种是keytool,这里不介绍了,网上死多

第二种方法是adt22,打开eclipse,工具栏Window->Preferences->Android->Build

复制黏贴到对话框内,加上;com.xx.xxx(包名),点Create

如上图,创建成功,API key即你要的key

key申请好了,就要结合到项目中,v2版需要依赖Google Play Services SDK

在eclipse中,工具栏Window->Android SDK Manager, 找到如下图,进行安装


安装成功后,需要把sdk项目包import并使项目引用它,首先eclipse->File->Import->Android->Existing Android Code Into Workspace

Next,选择sdk路径,<android-sdk>/extras/google/google_play_services/libproject/google-play-services_lib


Finish完成导入

引用该sdk需要右键点击自己的项目,选Properties,左菜单边选Android,然后在下面的Library里面Add刚才的google-play-services_lib。

这样,项目需要的内部包就引用完毕了,接着,向项目的配置文件AndroidManifest.xml中添加下列权限:

<permission        android:name="Your_FullPackage.permission.MAPS_RECEIVE"        android:protectionLevel="signature" />    <uses-permission android:name="Your_FullPackage.permission.MAPS_RECEIVE" />    <uses-permission android:name="android.permission.INTERNET" />    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />    <uses-permission android:name="com.google.android.providers.gsf.permission.READ_GSERVICES" />    <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />    <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
把申请的key添加到节点<application>里

<meta-data    android:name="com.google.android.maps.v2.API_KEY"    android:value="API_KEY"/>

加入OpenGL ES,不然地图无法显示

<uses-feature        android:glEsVersion="0x00020000"        android:required="true"/>

添加ok后,转到项目资源文件XXX.xml,修改为

<?xml version="1.0" encoding="utf-8"?><fragment xmlns:android="http://schemas.android.com/apk/res/android"          android:id="@+id/map"          android:layout_width="match_parent"          android:layout_height="match_parent"          android:name="com.google.android.gms.maps.MapFragment"/>

v2版是以MapFragment代替MapView,可以直接继承Activity,android sdk 12 及以上适用,以下需使用SupportMapFragment这个类


项目已经配置好了,run它,你会看到提示,分2种情况,一种是找不到google play 服务,一种是叫你更新google play 服务

v2版需要依赖google play services 和 google play store 这2个应用,以本人手机小米2a为例,手机刚入手的时候默认装的是稳定版,但自系统JBL15后就不可root,因为google play store需要作为系统应用才能打开,所以必须root,把系统刷成了开发版


开启root,就可以安装google play了!!!

网上能搜到很多安装的方法,但我觉得都太繁琐,我的方法是这样;

在手机助手里搜索google安装器,安装后打开




在root的情况下,它为你安装google服务框架和商店为系统应用,然后你另外在手动安装下最新版的google play services,就大功告成了



另:附上google maps 官方文档 https://developers.google.com/maps/documentation/android/

0 0
原创粉丝点击