Android 软件中嵌入地图之三:Google 地图

谷歌地图

一、当前版本:Google Map Android v2,支持 Android 2.2 及以上版本

二、使用方法:

1 使用 keytool 工具得到签名对应的“认证指纹”
keytool -list -alias 用户名 -keystore 签名文件路径 -storepass 密码

2 获得 Google Map API Key
登录:[https://code.google.com/apis/console

](https://code.google.com/apis/console)(该网站像其它 google 网站一样,有时连不上,多连几次即可) 点开左侧的 services,选中 Google Map Android API v2 和 Google Play Android Developer API
点开右侧的 APIaccess,选择其中的 Createnew Android key,然后输入“认证指纹”,即可得到 API Key

3 在开发环境中安装 Google Play Service SDK
在 Eclipse 中打开 Windows>Android SDK Manager,下载 Google Play services

SDK,下载后保存在/extras/google/google_play_services/。 复制 google_play_services/libproject/google-play-services_lib 到任何地方,然后再 eclipse 中选择

File > Import, Android >Existing Android Code into Workspace.
在自己工程上点击右键,选择 Properties>Android,点击添加按钮,把前面导入的 google-play-services_lib 工程加进来

4 修改 AndroidManifest.xml

** **

** <uses-permissionandroid:name="android.permission.ACCESS_NETWORK_STATE" />

**

**

**

**

**

** <uses-permissionandroid:name="android.permission.ACCESS_COARSE_LOCATION" />

**

** <uses-permissionandroid:name="android.permission.ACCESS_FINE_LOCATION" />

**

** <permission **

android:name="com.travel.trek.permission.MAPS_RECEIVE"

android:protectionLevel="signature" / >

** <uses-permissionandroid:name="com.example.mapdemo.permission.MAPS_RECEIVE"

/> **

** <uses-feature **

android:glEsVersion="0x00020000"

android:required="true" / >

** **

** <meta-data **

android:name="com.google.android.maps.v2.API_KEY"

android:value=" 认证指纹 "/ >

5 修改 layout 中的 xml

** **

** <fragmentxmlns:android="http://schemas.android.com/apk/res/android" **

android:id="@+id/map"

android:layout_width="fill_parent"

android:layout_height="fill_parent"

class="com.google.android.gms.maps.SupportMapFragment" / >

6 修改 Activity.java
注意:v2 和 v1 的方法不同,v2 使用 fragment。如果使用不当,也不能正常显示地图

import android.os.Bundle;

importandroid.support.v4.app.FragmentActivity;


public class GoogleMapActivity extendsFragmentActivity {

@Override

publicvoid onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.activity_google);

}

}

三、问题及解决

1 问题 1:

  1. 问题: 安装时报错:INSTALL_FAILED_MISSING_SHARED_LIBRARY

  2. 原因: 有的手机的操作系统精简掉了 googlemap 库,因此找不到库

  3. 解决: 获得该手机的 root 权限,然后将 google map 库拷进系统库目录。但对于没有 root 权限的普通用户来说,基本就没办法了。

2 问题 2:

  1. 问题: 进入界面报错: java.lang.NoClassDefFoundError: com.google.android.gms.R$styleable

  2. 原因: 未将 Google PlayService 加入应用

  3. 解决: 在开发环境中加入 GooglePlay Service

3 问题 3:

  1. 问题: 进入界面不显示地图,后台显示:Failed to contact Google servers

  2. 原因: API Key 与当前应用不对应

  3. 解决: 填写正确对应的 API Key

四、相关链接
[http://www.blogjava.net/xmlspy/articles/393726.html

](http://www.blogjava.net/xmlspy/articles/393726.html)
[https://developers.google.com/maps/documentation/javascript/tutorial?hl=zh-

cn

](https://developers.google.com/maps/documentation/javascript/tutorial?hl=zh-

cn)