查了不少网址终于把android maps搞定,总结如下:
0.环境: 0.1 android-sdk-windows-1.0_r2.zip 0.2 eclipse-java-europa-winter-win32.zip v3.3.2 + SDK Plugin 1.API KEY 申请 C:/Documents and Settings/3-301-1/Local Settings/Application Data/Android>keytoo l -list -alias androiddebugkey -keystore debug.keystore -storepass android -keyp ass android androiddebugkey, 2008-12-6, PrivateKeyEntry, 认证指纹 (MD5): ×××××××××××××××××××××××××××××××××××××× ×××××××××××××××××××××××××××××××××××××× ×××××××××××××××××××××××××××××××××××××× <com.google.android.maps.MapView android:layout_width="fill_parent" android:layout_height="fill_parent" android:apiKey="××××××××××××××××××××××××××××××××××××××" /> 2.编写程序 http://www.qphone.net/ http://www.qphone.net/2008/12/21/android平台上的mapview开发-2-一个读取地图并且可以缩放设置/ 2.1设置上网权限 <uses-permission android:name="android.permission.INTERNET" /> 2.2设置界面xml <?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="fill_parent"> <com.google.android.maps.MapView android:id="@+id/map" android:layout_width="fill_parent" android:layout_height="fill_parent" android:apiKey="××××××××××××××××××××××××××××××××××××××" android:clickable="true" /> </RelativeLayout> 2.3源代码
- package com.chen;
- import android.os.Bundle;
- import android.view.View;
- import android.widget.Button;
- import com.google.android.maps.GeoPoint;
- import com.google.android.maps.MapActivity;
- import com.google.android.maps.MapController;
- import com.google.android.maps.MapView;
- public class BasicMapApp extends MapActivity {
- MapView mapView;
- MapController mapController;
- boolean isSatellite = false;
- @Override
- public void onCreate(Bundle icicle) {
- super.onCreate(icicle);
- setContentView(R.layout.main);
- mapView = (MapView) findViewById(R.id.map);
- mapController = mapView.getController();
- mapController.setZoom(15);
- updateView();
- }
- private void updateView(){
- Double lat = 31.23717*1E6;
- Double lng = 121.50811*1E6;
- GeoPoint point = new GeoPoint(lat.intValue(), lng.intValue());
- mapController.setCenter(point);
- // 放大地图,缩放等级加
- Button btnZoomIn = (Button) findViewById(R.id.zoomin);
- btnZoomIn.setOnClickListener(new View.OnClickListener() {
- public void onClick(View view) {
- mapController.setZoom(mapView.getZoomLevel() + 1);
- }
- });
- // 缩小地图,缩放等级减
- Button btnZoomOut = (Button) findViewById(R.id.zoomout);
- btnZoomOut.setOnClickListener(new View.OnClickListener() {
- public void onClick(View view) {
- mapController.setZoom(mapView.getZoomLevel() - 1);
- }
- });
- // 缩小地图,缩放等级减
- Button btnSatellite = (Button) findViewById(R.id.satellite);
- btnSatellite.setOnClickListener(new View.OnClickListener() {
- public void onClick(View view) {
- if (isSatellite == false) {
- mapView.setSatellite(true); //卫星模式为True
- mapView.setTraffic(false); //交通模式为False
- mapView.setStreetView(false); //街景模式为False
- isSatellite = true;
- } else {
- mapView.setSatellite(false);
- isSatellite = false;
- }
- }
- });
- }
- @Override
- protected boolean isRouteDisplayed() {
- return false;
- }
- }