要想编写Google Map的应用首先需要 Google APIs 。借助Google APIs,用户可以在地图上显示当前的地理位置。在Android中定义了一个名为com.google.android.maps的包,其中包含了一系列用于在GoogleMap上显示、控制和层叠信息的功能类。以下是该包中重要的几个类。
□ MapActivity:用于显示Map的Activity类,它需要连接底层网络。
□ MapView:用于显示地图的View组件,必须和MapActivity配合使用。
□ MapController:用于控制地图的移动。
□ Overlay:可显示于地图之上的可绘制的对象。
□ GeoPoint:包含经纬度位置的对象。
因此,首先需要在项目中导入Google Map API。默认情况是Android某个版本比如Android 2.3,现在需要改为对应版本的Google APIs,版本要和Android版本一致。在默认的情况下Google API是没有的。这个Google APIs是同版本的Android超集,包含了Google的私有应用API,如图1所示。

图1 导入Google Map API
这样就可以在项目中使用,如代码清单1所示。
代码清单1 引入Google Map API
import com.google.android.maps.MapActivity;
9.2.1 申请地图密钥
在导入Google Map API之后,我们需要向Google申请一组经过验证的“地图密钥”(Map API Key),“地图密钥”是访问Google地图数据的密钥,无论是模拟器还是在真实设备中需要使用这个密钥。然后使用MapView(com.google.android.maps.MapView)就可以将Google地图嵌入Android应用程序中,才能正常使用Google的地图服务。
要得到Google网站的签署取得“地图密钥”授权,首先要申请一个Google账号,也就是Gmail电子邮箱,申请地址是https://www.google.com/accounts/Login。然后,找到保存Debug证书的keystore的保存位置,并获取证书的MD5散列值。这里的keystore是一个密码保护的文件,用来存储Android提供的用于调试的证书,获取MD5散列值的主要目的是为下一步申请“地图密钥”做准备。
获取证书的保存地址:首先打开Eclipse,通过Window → Preferences命令打开配置窗体,在Android → Build选项中的Default debug keystore中可以找到,如图2所示。

图2 获取证书的保存地址
为了获取Debug证书MD5的散列值,需要打开命令行工具CMD,然后切换到keystore的目录,输入代码清单9-9所示命令。
代码清单9-9 获取Debug证书MD5散列值
keytool –list –keystore debug.keystore
如果提示无法找到keytool,可以将<Java SDK>/bin的路径添加到系统的PATH变量中。
在提示输入keystore密码时,输入默认密码android,MD5散列值将显示在下方。笔者的MD5散列值为68:76:89:C8:A4:24:61:F9:EA:F3:F7:70:CC:FD:C8:15,如图3所示。

图3 获取Debug证书MD5散列值
申请“地图密钥”的后一步是打开申请页面,输入MD5散列值。申请页面的地址是//code.google.com/intl/zh-CN/android/add-ons/google-apis/maps-api-signup.html,如图4所示。

图4 申请页面
在图4所示界面中,输入MD5散列值后,单击“Generate API Key”按钮,将提示用户输入Google账户,正确输入Google账户后,将产生申请“地图密钥”的获取结果,如图5所示。

图5 地图密钥的获取结果