Google Map应用开发

大家知道Google地图开放的地理信息平台,在Android开发使用Google的地图十分方便,因为在Android中Google给出了相应的组件MapView。

下面我简要的介绍一下MapView的使用方法:

一、准备工作:生成apiKey,要使用Google Map必须指定一个apiKey。生成方式如下:

1. 首先先要获取你的debug keystore位置:

打开Eclipse—>Windows—>Preferences—>Android—>Build
查看默认的debug keystore位置,我的是C:Documents and SettingsMYNAME .androiddebug.keystore

2. 在cmd中执行:

keytool -list -keystore ~/.android/debug.keystore

或者是:

keytool -list -alias androiddebugkey -keystore “路径debug.keystore ” -storepass android -keypass android

双引号中的为你keystore位置, 注意,你的双引号一定要有,否则就会报错:keytool error: java.lang.RuntimeException: Usage error, and is not a legal command

执行结果:
androiddebugkey, May 4, 2009, PrivateKeyEntry,

Certificate fingerprint (MD5): XX:XX:XX:XX:XX:XX:XX:XX………….
这里的XX:XX:XX:XX:XX:XX:XX:XX………….就是你的认证指纹

3. 打开http://code.google.com/intl/zh-CN/android/maps-api-signup.html
填入你的认证指纹(MD5)即可获得apiKey了,结果显示如下:
感谢您注册 Android 地图 API 密钥!

您的密钥是:

XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

4. 使用得到的apiKey:

在layout中加入MapView

android:id=”@+id/mapview”
android:layout_width=”fill_parent”
android:layout_height=”fill_parent”
android:apiKey=”XXXXXXXXXXXXXXXXXXXXXXXXXXXX” />

第二、创建一个Android工程使用带有Google API的SDK.

在AndroidManifest.xml的application标签中加入以下代码,表明要使用的地图库

<uses-library android:name=”com.google.android.maps” />

第三、创建View的XML文档

<RelativeLayout xmlns:android=”http://schemas.android.com/apk/res/android”
android:orientation=”vertical” android:layout_width=”fill_parent”
android:layout_height=”fill_parent”>
<com.google.android.maps.MapView
android:id=”@+id/mapView” android:layout_width=”fill_parent”
android:layout_height=”fill_parent” android:apiKey=”0sO38cxd8r3Wfv4_fjXis25jM5WDuFv9BqDgSng” />

</RelativeLayout>
第四、创建一个继承MapActivity的Activity

public class GoogleMap extends MapActivity implements View.OnClickListener{
private MapView mapView = null;
private MapController mapCtrl;
private GeoPoint geoPoint;
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
super.setContentView(R.layout.googlemap);
}

@Override
protected boolean isRouteDisplayed() {
return false;
}

@Override
public void onClick(View arg0) {

}
}

第五、设置地图视图

在onCreate方法中设置地图

mapView = (MapView)findViewById(R.id.mapView);
mapView.setEnabled(true);//开启地图
mapView.setClickable(true);// 允许通过触摸拖动地图
mapView.setBuiltInZoomControls(true);// 可以多点触摸放大
mapView.setSatellite(true);// 使用卫星图

mapCtrl = (MapController) mapView.getController();
mapCtrl.setZoom(15);

geoPoint = new GeoPoint((int) ((36.68717 + 0.00010) * 1000000),
(int) ((117.10398 + 0.00641) * 1000000));
mapCtrl.setCenter(geoPoint);
mapCtrl.animateTo(geoPoint);// 通过动画方式移动到指定坐标

六、结果

帖一图片作为结果吧