在开发Android应用软件的时候难免用到Maps,在开发Maps 的时候要先到谷歌的网站上注册一个Maps key然后才能在项目中使用。

http://code.google.com/intl/ja-JP/android/maps-api-signup.html

上面这个地址是获取MD5的值,但是你必须现有一串字符串才能注册,这个字符串如何获取呢?

方法:

在DOS下面运行keytool 他会出现一堆的命令,这是你可以根据命令提示输入命令,

keytool这只是让大家看看命令提示,你可以直接在dos命令里输入一下内容即可:

keytool -list -alias androiddebugkey -keystore “文件路径” -storepassandroid -keypass android

文件路径就是你的debug.keystore文件的绝对路径,如果你不知道的话你可以在开发工具里面看看,如果你是用的Eclipse的话你可以从window-->preferences-->android-->build-->Default debug keystore里面的值就是文件的路径,在输入的时候路径两边的引号不能少。

一般路径的默认地址是:C:\Users\Administrator\.android\debug.keystore,这个是windows7的默认路径,Administrator是你计算机的名称,可以根据具体的情况而定。

输入命令以后回车,会出现MD5的值。

然后到谷歌官网上注册即可,有了Maps API Key以后就可以新建Maps的项目。

新建项目以后你要在Android AVD里面新建一个google API的虚拟机然后在修改文件的AndroidMainfest.xml文件,在文件里面添加

<uses-libraryandroid:name="com.google.android.maps" />

这句话要放在Action里面,然后还要给权限

<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/>

<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION"/>

<uses-permission android:name="android.permission.INTERNET" />

然后你还要修改main.xml文件在文件里面添加

<com.google.android.maps.MapView

android:id="@+id/map"

android:layout_width="fill_parent"

android:layout_height="fill_parent"

android:enabled="true"

android:clickable="true"

android:apiKey="你申请的MAPS API KEY"

/>

然后你在你的java程序里添加内容

现引用main.xml文件还要导入一些谷歌的包

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 android.app.AlertDialog;

import android.app.Dialog;

import android.content.DialogInterface;

import android.os.Bundle;

import android.view.KeyEvent;

import android.view.Menu;

import android.view.MenuItem;

public class MapsActivity extends MapActivity {

// 地图显示控制相关变量定义

private MapView map=null;

private MapController mapCon;

// 菜单项

final private int menuMode=Menu.FIRST;

final private int menuExit=Menu.FIRST+1;

private int chooseItem=0;

final CharSequence[] MapMode =new CharSequence[]{"卫星地图","街道地图"};

/** Called when the activity is first created. */

@Override

public void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.main);

// 获取MapView

map=(MapView)findViewById(R.id.map);

// 设置显示模式

map.setTraffic(true);

map.setSatellite(false);

map.setStreetView(true);

// 设置可以缩放

map.setBuiltInZoomControls(true);

// 设置初始地图的中心位置

GeoPoint geoBeijing=new GeoPoint((int)(39.95*10000000), (int)(116.37*10000000));

mapCon=map.getController();

mapCon.setCenter(geoBeijing);

}

@Override

protected boolean isLocationDisplayed(){

return false;

}

@Override

protected boolean isRouteDisplayed() {

// TODO Auto-generated method stub

return false;

}

@Override

public boolean onCreateOptionsMenu(Menu menu) {

// 建立菜单

menu.add(0,menuMode,0,"地图模式");

menu.add(0, menuExit, 1, "退出");

return super.onCreateOptionsMenu(menu);

}

@Override

public boolean onKeyDown(int keyCode, KeyEvent event) {

return super.onKeyDown(keyCode, event);

}

@Override

public boolean onMenuItemSelected(int featureId, MenuItem item) {

switch (item.getItemId()) {

case menuExit:

finish();

break;

case menuMode:

Dialog dMode=new AlertDialog.Builder(this)

.setTitle("地图模式设置")

.setSingleChoiceItems(MapMode, chooseItem, new DialogInterface.OnClickListener()

{

@Override

public void onClick(DialogInterface dialog, int which) {

chooseItem=which;

}

})

.setPositiveButton("确定", new DialogInterface.OnClickListener()

{

@Override

public void onClick(DialogInterface dialog, int which) {

switch (which) {

case 0:

map.setSatellite(true);

//map.setTraffic(false);

//map.setStreetView(false);

break;

case 1:

//map.setSatellite(false);

map.setTraffic(true);

//map.setStreetView(false);

break;

case 2:

//map.setSatellite(false);

//map.setTraffic(false);

map.setStreetView(true);

break;

default:

break;

}

}

})

.setNegativeButton("取消", new DialogInterface.OnClickListener() {

@Override

public void onClick(DialogInterface dialog, int which) {

}

})

.create();

dMode.show();

break;

default:

break;

}

return super.onMenuItemSelected(featureId, item);

}

}

然后运行就OK了!

good luck!

更多相关文章

  1. Android(安卓)studio 中创建AIDL Service
  2. (转)修改Android的开关机铃声、Android开关机画面与动画(附代码流程
  3. Android(九):adb常用命令
  4. android 使用log4j SLF4J 输出日志到文件中
  5. 改善android性能工具篇【zipalign】
  6. 如何获取多媒体文件
  7. android 防止背景图片被拉伸 背景图片平铺
  8. Pycharm安装PyQt5的详细教程
  9. NPM 和webpack 的基础使用

随机推荐

  1. Android应用开发SharedPreferences存储数
  2. ANDROID 设置状态栏与标题背景颜色一致
  3. Ubantu上搭建android 开发环境
  4. 关于Android键盘遮挡
  5. 新建Android项目出现错误
  6. 批量复制IE临时文件(Temporary Internet F
  7. 【android】 Android(安卓)动画cancle后
  8. Android(安卓)程序员优选 数据库辅助工具
  9. 【攻克Android(安卓)(40)】JSON解析
  10. Android使用include标签无法设置具体位置