本文主要介绍在Android 1.0 SDK release1上使用Google Maps最最简单的例子。Android上的Google Mapsbbebei一般被叫做Android Maps,所以本文也以Android Maps来称呼。
准备
为了能使用Android Maps API,首先必须取得Android Maps API KEY,下面就来介绍如何取得Android Maps API KEY。
为了取得Android Maps API KEY必须要一下两个东西:
1,Google的账号
2,系统的证明书
Google的账号
一般Google发布Key都需要Google的账号,Google的账号是通用的,Gmail的账号就可以了。
系统的证明书
发布应用程序必须要证明书。如果不是发布的话,只是为了测试,那么请使用Debug版的证明书。
所谓证明书其实就是MD5,如何取得呢。
Mac OS X,在终端上执行下面的命令:
# keytool -list -keystore ~/.android/debug.keystore
keytool在JDK的安装目录下的bin文件夹中。
Windows,运行CMD执行下面的命令:
[Windows XP] C:¥Documents and Settings¥LocalSettings¥Application Data¥Android¥debug.keystore
[Windows Vista] C:¥Users¥AppData¥Local¥Android¥debug.keystore
执行该命令后,就可以取得本地的证明书了。
Android Maps Key的取得
首先访问Android Maps API KEY,然后使用Google的账号登录。
接下来选择同意协议,在[My certificate‘s MD5 fingerprint:]中输入自己的证明书。
点击[Generate API Key]按钮之后Android Maps API得到了。(如下图:)
最最简单的Map(地图)程序。
编写一个显示Map(地图)的程序,新建项目,然后开始编码:
package com.adamrocker.android.sample.map;
import android.os.Bundle;
import com.google.android.maps.*;
public class MapSample extends MapActivity {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
MapView map = new MapView(this, "[Android Maps API Key]");
map.setEnabled(true);
map.setClickable(true);
setContentView(map);
}
@Override
protected boolean isRouteDisplayed() {
return false;
}
}
将其中的[Android Maps API Key]替换为本地的证明书。
setEnabled(true)和setClickable(true)是设定是否可以拖拽Map(地图)。
编辑AndroidManifest.xml
像下面这样编辑AndroidManifest.xml。
<manifest xmlns:android="http://schemas.android.com/apk/res/android"> <!--换行-->
package="com.adamrocker.android.sample.map" android:versioncode="1" <!--换行-->
android:versionname="1.0.0">
<application android:label="@string/app_name" android:icon="@drawable/icon">
<activity android:label="@string/app_name" android:name=".MapSample">
<intent-filter>
<action android:name="android.intent.action.MAIN">
<category android:name="android.intent.category.LAUNCHER">
</category>
</action>
<uses-library android:name="com.google.android.maps">
</uses-library>
<uses-permission android:name="android.permission.INTERNET">
</uses-permission>
</intent-filter>
</activity>
</application>
</manifest>
使用Map Library的相关设定。
接下来执行程序。
程序运行效果