http://vip.du8.com/books/sepc0xy.shtml#

在做android地图时要引用google APIs,同时还要申请API Key
申请android google map API key
转自:http://www.cnblogs.com/alex77lee/archive/2010/05/21/1789924.html
1.首先要得到你的debug keystore位置:
打开Eclipse--->Windows--->Preferences--->Android--->Build
查看默认的debug keystore位置,例如:C:\Documents and Settings\(你电脑的名字)\.android\debug.keystore


2.在cmd中执行: (可以先定位到jdk的bin目录下)
keytool -list -alias androiddebugkey -keystore " C:\Documents and Settings\MYNAME\.android\debug.keystore " -storepass android -keypass android
双引号中的为你keystore位置, (一定要有双引号),否则就会报错。
如果系统提示找不到keytool,需要将jdk中bin目录加入到环境变量中
执行结果:
androiddebugkey, 2009-10-04, PrivateKeyEntry,
指纹认证<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
我IE打开的时候是乱码,不知道是不是自己电脑有问题。后来改用了chrome就正常显示了。


4.使用得到的apiKey:
在layout中加入MapView
搞定~
下面是主要代码(来自eoeandroid一位朋友的代码)
package com.wbtech.CurrentLocationWithMap;import java.util.List;import com.google.android.maps.GeoPoint;import com.google.android.maps.MapActivity;import com.google.android.maps.MapController;import com.google.android.maps.MapView;import com.google.android.maps.MyLocationOverlay;import com.google.android.maps.Overlay;//import com.wbtech.CurrentLocation.R;import android.app.Activity;import android.content.Context;import android.location.Criteria;import android.location.Location;import android.location.LocationListener;import android.location.LocationManager;import android.os.Bundle;import android.view.View;import android.view.View.OnClickListener;import android.widget.Button;import android.widget.CompoundButton;import android.widget.CompoundButton.OnCheckedChangeListener;import android.widget.TextView;import android.widget.ToggleButton;public class CurrentLocationWithMap extends MapActivity {    protected Location location;    MapView map;private MyLocationOverlay myLocation;MapController controller;MapController ctrlMap;Button inBtn;Button outBtn;ToggleButton switchMap;/** Called when the activity is first created. */    @Override    protected boolean isRouteDisplayed(){    return false;    }    public void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.main);        LocationManager locationManager;        String seviceName = Context.LOCATION_SERVICE;        locationManager = (LocationManager)getSystemService(seviceName);                        Criteria criteria = new Criteria();        criteria.setAccuracy(Criteria.ACCURACY_FINE);        criteria.setAltitudeRequired(false);        criteria.setBearingRequired(false);        criteria.setCostAllowed(true);        criteria.setPowerRequirement(Criteria.POWER_LOW);                        String provider = locationManager.getBestProvider(criteria,true);        Location location = locationManager.getLastKnownLocation(provider);        updateWithNewLocation(location);                        locationManager.requestLocationUpdates(provider, 2000, 10, locationListener);                map = (MapView)findViewById(R.id.myMapView);        List<Overlay>overlays = map.getOverlays();        myLocation = new MyLocationOverlay(this,map);         controller = map.getController();        myLocation.enableMyLocation();        map.getOverlays().add(myLocation);                ctrlMap = map.getController();        inBtn = (Button)findViewById(R.id.in);        outBtn = (Button)findViewById(R.id.out);        OnClickListener listener = new OnClickListener(){                public void onClick(View v){        switch (v.getId()){        case R.id.in:        ctrlMap.zoomIn();        break;        case R.id.out:        ctrlMap.zoomOut();        default:        break;        }        }        };        inBtn.setOnClickListener(listener);        outBtn.setOnClickListener(listener);                switchMap = (ToggleButton)findViewById(R.id.switchMap);        switchMap.setOnCheckedChangeListener(new OnCheckedChangeListener(){                public void onCheckedChanged(CompoundButton cBtn,boolean isChecked){        if (isChecked == true){        map.setSatellite(true);        } else {                       map.setSatellite(false);    map.setStreetView(true);        }        }        });            }    private final LocationListener locationListener = new LocationListener(){    public void onLocationChanged(String provider){    updateWithNewLocation(location);    }    public void onProviderDisabled(String provider){    updateWithNewLocation(null);    }    public void onProviderEnavled(String probider){        }    public void onStatusChanged(String provider,int status,Bundle extras){}public void onLocationChanged(Location location) {// TODO Auto-generated method stub}public void onProviderEnabled(String provider) {// TODO Auto-generated method stub}    };    private void updateWithNewLocation(Location location) {// TODO Auto-generated method stubString latLongString;TextView myLocationText;myLocationText = (TextView)findViewById(R.id.myLocationText);if (location != null){double lat = location.getLatitude();double lng = location.getLongitude();latLongString = "纬度:" + lat +"\n经度" + lng;//ctrlMap.animateTo(new GeoPoint((int)(lat*1E6),(int)(lng*1E6)));}else {latLongString = "无法获取地理信息";}myLocationText.setText("您当前的位置是:\n" + latLongString);}}

页面:
<com.google.android.maps.MapView         android:clickable="true"         android:id="@+id/myMapView"         android:layout_width="fill_parent"         android:layout_height="fill_parent"         android:apiKey="06u0_ZgwSFsxDdaR8ITGA_CwRA8_FhsoYNUmTAg"                 />

更多相关文章

  1. Android 自定义 Dialog 大小 位置 样式
  2. Android 获取地理位置的经度和纬度
  3. Android 安装位置 - installLocation简析
  4. Android 源码编译如何确定模块安装的位置
  5. Android拨号键盘声音源码位置
  6. 在LinearLayout中嵌套RelativeLayout来设置Button的位置(xml文件)
  7. 指纹支付相关的细节处理
  8. Android keytool 生成证书MD5指纹

随机推荐

  1. 如何把你的安卓手机变成Linux?
  2. SoLoader,android动态加载so库
  3. Android(安卓)之怎么删除eclipse自动生成
  4. ListView中添加Button后,Button的点击事件
  5. Android Stduio 发生 Process 'command '
  6. Android 微信/支付宝 h5调原生支付
  7. android中的Bitmap
  8. 安卓开发
  9. ExpandableListView设置选中child的背景
  10. 怎么给Android(安卓)控件添加边框(样式)?