当前位置: > 华清远见教育科技集团 > 嵌入式学习 > 讲师博文 > 浅析Google Maps V2
浅析Google Maps V2
时间:2016-12-13作者:华清远见

近日在研究Android4.0,发现Google Maps V1已不能申请API Key,而且装载地图的MapActivity也已被禁用,取而代之的装载控件已变为fragment,下面我将分析如何使用Google Maps V2来加载地图。

一、我们需要新建一个工程,由于我们要使用Google Map,所以Compile With需要选择Google APIs版本,如下图所示。

二、打开AndroidManifest.xml文件,添加如下代码:

1添加权限代码,写于application标签上方:

<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"/>

注意,下面一条权限需要改为自己工程的包名。

<permission android:name="your_package.permission.MAPS_RECEIVE"android:protectionLevel="signature"/>
        <uses-permission android:name="your_package.permission.MAPS_RECEIVE"/>

2OpenGL ES V2特性支持,写于application标签下方:

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

3导入API Key,这里的API Key与Google Maps V1不同,需要用到SHA1,具体获取API Key方法如下:

① 获得debug.keystore地址,打开eclipse,依次打开Windows > Preferences > Android > Build,复制红框地址,如下图:

② 打开cmd,输入如下命令,其中引号部分地址为①中debug.keystore地址。

keytool -list -v -keystore "C:\Users\your_debug.keystore" -alias androiddebugkey -storepass android -keypass android

键入上述命令后找到证书指纹,得到SHA1指纹,注意:签名算法名称必须为SHA1withRSA,否则导入API Key之后会出现Authorization failure错误.

③ 登陆这个网址https://code.google.com/apis/console/(如果第一次登陆需要创建一个项目),点击左边的Services,在右边找到Google Maps Android API v2,然后把它设置成on

在左边的导航条中选择API Access,在出来的页面中选择Create New Android Key,在输入框中填写②中的SHA1指纹及自己工程的包名,注意中间用“;”间隔。

点击create后生成一个秘钥,此秘钥及API key

④ 在application标签中,activity标签下方添加如下代码,将③中的API key复制到value属性中。

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

三、打开布局文件,加入下述代码

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

其中,class属性需要引入一个库,下面我来介绍一下如何载入。

1打开Android SDK Manager,安装Google Play services.

2导入google-play-services_lib工程

①在Eclipse里面选择:File > Import > Android > Existing Android Code Into Workspace然后点击Next.之后Browse,
        找到路径下的
        <android-sdk-folder>/extras/google/google_play_services/libproject/google-play-services_lib,
        然后选择Finish。

②右键自己的工程,选择Properties > Android,点击右下角的Add,选择google-play-services_lib,如图示。

点击OK。

四、工程已创建完毕,但在运行前还需要在我们的设备上安装两个apk文件,即google play store和goolge play service。运行成功后如图所示

发表评论
评论列表(网友评论仅供网友表达个人看法,并不表明本站同意其观点或证实其描述)