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标签中加入以下代码,表明要使用的地图库 第三、创建View的XML文档 <com.google.android.maps.MapView android:id=”@+id/mapView” android:layout_width=”fill_parent” android:layout_height=”fill_parent” android:apiKey=”0sO38cxd8r3Wfv4_fjXis25jM5WDuFv9BqDgSng” /> 第四、创建一个继承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);// 通过动画方式移动到指定坐标 六、结果 帖一图片作为结果吧