1. 首先先要获取你的debug keystore位置:
打开Eclipse--->Windows--->Preferences--->Android--->Build
查看默认的debug keystore位置,我的是C:\Documents and Settings\MYNAME \.android\debug.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
<com.google.android.maps.MapView
android:id="@+id/mapview"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:apiKey="XXXXXXXXXXXXXXXXXXXXXXXXXXXX" />
com.autonavi.mapapi
Class MapActivity
java.lang.Object
extended by android.content.Context
extended by android.content.ContextWrapper
extended by android.view.ContextThemeWrapper
extended by android.app.Activity
extended by com.autonavi.mapapi.MapActivity
All Implemented Interfaces:
android.content.ComponentCallbacks, android.view.KeyEvent.Callback, android.view.LayoutInflater.Factory, android.view.View.OnCreateContextMenuListener, android.view.Window.Callback
public abstract class MapActivity
extends android.app.Activity
MapActivity是一个基类,它使用代码去管理任何一个Activity繁琐的事务,它的责任包括:
* Activity生命周期管理
* 在一个MapView后面创建和销毁服务
一个子类应当在onCreate(android.os.Bundle)创建它自己的MapView,或使用MapView的构造函数(然后用ViewGroup.addView(View)把它加入到布局视图里),或把这个构造(和Layout)留给Layout XML的inflation.
MapAcitivity并不是Andriod库中标准的Package。为了使用它,你必须在你的AndroidManifest.xml文件中添加下面的XML元素做为application元素的子元素。
<uses-library android:name="com.autonavi.mapapi" />
每个进程只支持一个MapAcitivity。多个MapActivity同时运行很可能让它们之间的交互变得不可预期。
Fields inherited from class android.app.Activity
DEFAULT_KEYS_DIALER, DEFAULT_KEYS_DISABLE, DEFAULT_KEYS_SEARCH_GLOBAL, DEFAULT_KEYS_SEARCH_LOCAL, DEFAULT_KEYS_SHORTCUT, FOCUSED_STATE_SET, RESULT_CANCELED, RESULT_FIRST_USER, RESULT_OK
Fields inherited from class android.content.Context
ACTIVITY_SERVICE, ALARM_SERVICE, APPWIDGET_SERVICE, AUDIO_SERVICE, BIND_AUTO_CREATE, BIND_DEBUG_UNBIND, BLUETOOTH_SERVICE, CLIPBOARD_SERVICE, CONNECTIVITY_SERVICE, CONTEXT_IGNORE_SECURITY, CONTEXT_INCLUDE_CODE, INPUT_METHOD_SERVICE, KEYGUARD_SERVICE, LAYOUT_INFLATER_SERVICE, LOCATION_SERVICE, MODE_APPEND, MODE_PRIVATE, MODE_WORLD_READABLE, MODE_WORLD_WRITEABLE, NOTIFICATION_SERVICE, POWER_SERVICE, SEARCH_SERVICE, SENSOR_SERVICE, STATUS_BAR_SERVICE, TELEPHONY_SERVICE, VIBRATOR_SERVICE, WALLPAPER_SERVICE, WIFI_SERVICE, WINDOW_SERVICE
Constructor Summary
MapActivity()
Method Summary
protected boolean isLocationDisplayed()
为了计算的目的,服务器需要知道Activity是否正在显示某种对终端当前位置基于传感器的估算。
protected abstract boolean isRouteDisplayed()
为了计算的目的,服务器需要知道你当前是否正在显示任何一种路线信息,例如一组驾车方向指示。
protected void onCreate(android.os.Bundle icicle)
此函数初始化静态工厂类,创建地图对象和交通服务,但不启动任何线程。
protected void onDestroy()
终止所有线程,释放所有资源。
void onNewIntent(android.content.Intent newIntent)
protected void onPause()
暂停线程例如交通服务,因为我们不想让它永远在后台运行。
protected void onResume()
告诉地图去“提前绘制”,提前装载和解码,使得第一次绘制显得更“原子化”。
打开Eclipse--->Windows--->Preferences--->Android--->Build
查看默认的debug keystore位置,我的是C:\Documents and Settings\MYNAME \.android\debug.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
<com.google.android.maps.MapView
android:id="@+id/mapview"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:apiKey="XXXXXXXXXXXXXXXXXXXXXXXXXXXX" />
com.autonavi.mapapi
Class MapActivity
java.lang.Object
extended by android.content.Context
extended by android.content.ContextWrapper
extended by android.view.ContextThemeWrapper
extended by android.app.Activity
extended by com.autonavi.mapapi.MapActivity
All Implemented Interfaces:
android.content.ComponentCallbacks, android.view.KeyEvent.Callback, android.view.LayoutInflater.Factory, android.view.View.OnCreateContextMenuListener, android.view.Window.Callback
public abstract class MapActivity
extends android.app.Activity
MapActivity是一个基类,它使用代码去管理任何一个Activity繁琐的事务,它的责任包括:
* Activity生命周期管理
* 在一个MapView后面创建和销毁服务
一个子类应当在onCreate(android.os.Bundle)创建它自己的MapView,或使用MapView的构造函数(然后用ViewGroup.addView(View)把它加入到布局视图里),或把这个构造(和Layout)留给Layout XML的inflation.
MapAcitivity并不是Andriod库中标准的Package。为了使用它,你必须在你的AndroidManifest.xml文件中添加下面的XML元素做为application元素的子元素。
<uses-library android:name="com.autonavi.mapapi" />
每个进程只支持一个MapAcitivity。多个MapActivity同时运行很可能让它们之间的交互变得不可预期。
Fields inherited from class android.app.Activity
DEFAULT_KEYS_DIALER, DEFAULT_KEYS_DISABLE, DEFAULT_KEYS_SEARCH_GLOBAL, DEFAULT_KEYS_SEARCH_LOCAL, DEFAULT_KEYS_SHORTCUT, FOCUSED_STATE_SET, RESULT_CANCELED, RESULT_FIRST_USER, RESULT_OK
Fields inherited from class android.content.Context
ACTIVITY_SERVICE, ALARM_SERVICE, APPWIDGET_SERVICE, AUDIO_SERVICE, BIND_AUTO_CREATE, BIND_DEBUG_UNBIND, BLUETOOTH_SERVICE, CLIPBOARD_SERVICE, CONNECTIVITY_SERVICE, CONTEXT_IGNORE_SECURITY, CONTEXT_INCLUDE_CODE, INPUT_METHOD_SERVICE, KEYGUARD_SERVICE, LAYOUT_INFLATER_SERVICE, LOCATION_SERVICE, MODE_APPEND, MODE_PRIVATE, MODE_WORLD_READABLE, MODE_WORLD_WRITEABLE, NOTIFICATION_SERVICE, POWER_SERVICE, SEARCH_SERVICE, SENSOR_SERVICE, STATUS_BAR_SERVICE, TELEPHONY_SERVICE, VIBRATOR_SERVICE, WALLPAPER_SERVICE, WIFI_SERVICE, WINDOW_SERVICE
Constructor Summary
MapActivity()
Method Summary
protected boolean isLocationDisplayed()
为了计算的目的,服务器需要知道Activity是否正在显示某种对终端当前位置基于传感器的估算。
protected abstract boolean isRouteDisplayed()
为了计算的目的,服务器需要知道你当前是否正在显示任何一种路线信息,例如一组驾车方向指示。
protected void onCreate(android.os.Bundle icicle)
此函数初始化静态工厂类,创建地图对象和交通服务,但不启动任何线程。
protected void onDestroy()
终止所有线程,释放所有资源。
void onNewIntent(android.content.Intent newIntent)
protected void onPause()
暂停线程例如交通服务,因为我们不想让它永远在后台运行。
protected void onResume()
告诉地图去“提前绘制”,提前装载和解码,使得第一次绘制显得更“原子化”。