[Android实例] Android中使用Google 地图实例详解




效果图:
eyeandroid_com51964172214571.png 
第一步:建一个包含Google APIs的工程
第二步:获取Android Maps API 金钥
第三步:载入MapView
第四步:通过MapController控制地图缩放与移动

获取密钥的方法:

第一步:C:UsersJet>keytool -list -alias androiddebugkey -keystore "C:UsersJet.androiddebug.keystore" -storepass android -keypass android
红字部分是keystore的具体路径,此处修改成自己电脑上keystore的真实路径即可
执行命令后,会得到MD5认证指纹
第二步:打开http://code.google.com/intl/zh-CN/android/maps-api-signup.html,在页面最下部有一处输入认证指纹得到密钥的地方。将你得到的MD5指纹输入,提交即可得到密钥。(上面这个网址貌似需要翻墙之后才能正常打开,否则输入指纹的地方显示不出来)
密钥格式:0QB6Bk20bHSaAJIZN******3upyNFLK_tujWTBw

注意:
1)不要把经度和纬度搞混,否则影响正常显示
2)在manifest.xml的<application>标签中加这一句<uses-library android:name="com.google.android.maps"/>

  1. public class LLAddressActivity extends MapActivity {
  2. private MapController mMapController;
  3. private MapView mapView;
  4. private Button button1, button2, button3;
  5. private EditText longet, latiet;
  6. private int zoomLevel = 0;
  7. private double dLati = 25.0402555;
  8. private double dLong = 121.512377;
  9. private String longitude = "";
  10. private String latitude = "";
  11. @Override
  12. protected void onCreate(Bundle icicle) {
  13.   super.onCreate(icicle);
  14.   setContentView(R.layout.lladdress);
  15. //find components
  16.   mapView = (MapView) findViewById(R.id.address_mapview);
  17.   button1 = (Button) findViewById(R.id.address_search);
  18.   button2 = (Button) findViewById(R.id.address_plus);
  19.   button3 = (Button) findViewById(R.id.address_minus);
  20.   longet = (EditText) findViewById(R.id.longtitude_et);
  21.   latiet = (EditText) findViewById(R.id.latitude_et);
  22. mMapController = mapView.getController();
  23.   // 设置MapView的显示选项
  24.   mapView.setSatellite(true);
  25.   //默认的放大层级
  26.   zoomLevel = 17;
  27.   mMapController.setZoom(zoomLevel);
  28.   refreshMapView();[/size][/size][/color][/font]
  29.   button1.setOnClickListener(new OnClickListener() {
  30.   @Override
  31.    public void onClick(View v) {
  32.     longitude = longet.getText().toString();
  33.     latitude = latiet.getText().toString();
  34.     dLong = Double.parseDouble(longitude);
  35.     dLati = Double.parseDouble(latitude);
  36.     refreshMapView();
  37.     Log.e("MAP", "latitude:" + dLati + "logitude" + longitude);
  38.    }
  39.   });
  40.   button2.setOnClickListener(new OnClickListener() {
  41. @Override
  42.    public void onClick(View v) {
  43.     zoomLevel++;
  44.     if (zoomLevel &gt; mapView.getMaxZoomLevel()) {
  45.      zoomLevel = mapView.getMaxZoomLevel();
  46.     }
  47.     mMapController.setZoom(zoomLevel);
  48.    }
  49.   });
  50.   button3.setOnClickListener(new Button.OnClickListener() {
  51.    @Override
  52.    public void onClick(View v) {
  53.     zoomLevel--;
  54.     if (zoomLevel &lt; 1) {
  55.      zoomLevel = 1;
  56.     }
  57.     mMapController.setZoom(zoomLevel);
  58.    }
  59.   });
  60. }
  61. /**
  62.   * 重整Map的Method
  63.   */
  64. private void refreshMapView() {
  65.   GeoPoint p = new GeoPoint((int) (dLati * 1E6), (int) (dLong * 1E6));
  66.   mapView.displayZoomControls(true);
  67.   /* 将Map的中点移动GeoPoint */
  68.   mMapController.animateTo(p);
  69.   mMapController.setZoom(zoomLevel);
  70. }
  71. @Override
  72. protected boolean isRouteDisplayed() {
  73.   return false;
  74. }
  75. }
复制代码
布局文件中使用这样一段来显示地图

  1. <com.google.android.maps.MapView
  2.         android:id="@+id/address_mapview"
  3.         android:layout_width="fill_parent"
  4.         android:layout_height="fill_parent"
  5.         android:clickable="true"
  6.         android:apiKey="0QB6Bk20b**********upyNFLK_tujWTBw" />
复制代码

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值