V2 版本有幾個注意事項:html
(參考: http://developer.android.com/google/play-services/setup.html)java
<android-sdk-folder>/extras/google/google_play_services/
. <android-sdk-folder>/extras/google/google_play_services/libproject/google-play-services_lib到任何地方.我這裏是複製到D:\code. 而後再eclipse中選擇 File > Import, Android > Existing Android Code into Workspace. (注意: 這裏是 Android > Existing Android Code into Workspace, 而不是General > Existing Projects into Workspace, 不然是沒法導入的.)
![未命名 未命名](http://static.javashuo.com/static/loading.gif)
導入示例程序.
<android-sdk-folder>/extras/google/google_play_services/samples/maps到D:\code 下.
而後選擇File > Import, Android > Existing Android Code into Workspace,把此程序導入到Eclipse中.(注意: 這裏是 Android > Existing Android Code into Workspace, 而不是General > Existing Projects into Workspace, 不然會出現大量錯誤.)
![未命名 未命名](http://static.javashuo.com/static/loading.gif)
這個工程導入後可能會出現不少問題,請嘗試使用如下方法解決:
1. 在此工程上點擊右鍵,選擇Properties>Android, 在右下方的Library選項中若是出現紅叉,先把它刪除,而後點擊添加按鈕,把前面導入的google-play-services_lib工程加進來
2. 另外一個問題就是android.support找不到,這個是缺乏android-support-v4.jar,能夠經過在工程上點擊右鍵,選擇Android Tools > Add Support Library, 會從網絡上下載.若是網絡下載有問題,也能夠在工程中新建目錄libs,而後把此文件從<android-sdk-folder>
\extras\android\compatibility\v4\android-support-v4.jar複製到新建目錄一個就能夠了.
-
得到Goole Maps API Key
(參考: https://developers.google.com/maps/documentation/android/start#the_google_maps_api_key
http://developer.android.com/tools/publishing/app-signing.html)
得到Google Maps API Key 在V2版本中須要以下幾個步驟:
-
查看程序簽名的SHA1認證指紋.
在開發模式下,默認會使用C:\Users\<你的用戶名稱>\.android\debug.keystore這個自動生成的debug狀態的簽名文件,能夠經過Windows>Preferences>Android中的Default debug keystore進行查看.
接下來進入你的系統的命令行控制檯中,切換到你安裝的JDK的bin目錄中輸入keytool -v -list -keystore C:\Users\<你的用戶名稱>\.android\debug.keystore,密碼是android,查看"證書指紋"中的SHA1中的內容,這個內容記下來,接下來會使用到.
![未命名 未命名](http://static.javashuo.com/static/loading.gif)
-
建立Google Maps API Key.
訪問Google APIs Console(https://code.google.com/apis/console).若是沒有登陸,就先登陸.登陸後,若是是首次使用,會出現讓你建立API工程的頁面.
點擊Create project後會跳轉到services頁面,須要在這個頁面選擇你要使用的API.這裏咱們選擇Google Maps Android API v2.
以後會跳轉到服務條款確認的頁面,接受後,在顯示的頁面中左邊列表選擇」API Access」,而後點擊Create new Android key... 按鈕.
在彈出的對話框中填寫SHA1認證指紋和程序的包命,中間用分號分隔(google自帶的google map v2示例程序的包命是com.example.mapdemo):
0E:10:94:C7:B9:FD:15:62:27:FC:E7:FC:0C:05:59:A7:18:41:F5:B2;com.example.mapdemo
點擊create按鈕後,就建立了一個新的API key:
![TM截圖未命名 TM截圖未命名](http://static.javashuo.com/static/loading.gif)
-
配置運行示例程序
-
打開示例程序的AndroidManifest.xml, 把上面生成的API key複製到如下位置:
![TM截圖未命名 TM截圖未命名](http://static.javashuo.com/static/loading.gif)
- 如今,這個程序能夠在手機中運行了(不能運行在模擬器中).若是手機中沒有安裝Goole Play Services和Google Map,程序會崩潰,在Android Logcat視圖中能夠看到提示相關東西沒有安裝.這種方式很是不友好,咱們應該添加一些代碼,提示用戶安裝安裝缺乏的東西.
在MainActivity.java中的最下面添加以下代碼:
//
======= For Google Maps Check============
public
boolean
isGoogleMapsInstalled() {
try
{ ApplicationInfo info
=
getPackageManager().getApplicationInfo(
"
com.google.android.apps.maps
"
,
0
);
return
true
; }
catch
(PackageManager.NameNotFoundException e) {
return
false
; } }
public
OnClickListener getGoogleMapsListener() {
return
new
OnClickListener() { @Override
public
void
onClick(DialogInterface dialog,
int
which) { Intent intent
=
new
Intent(Intent.ACTION_VIEW, Uri.parse(
"
market://details?id=com.google.android.apps.maps
"
)); startActivity(intent);
//
Finish the activity so they can't circumvent the check
finish(); } }; }
而後在onCreate方法中添加一些代碼,以下:
@Override
protected
void
onCreate(Bundle savedInstanceState) {
super
.onCreate(savedInstanceState); setContentView(R.layout.main); ListAdapter adapter
=
new
CustomArrayAdapter(
this
, demos); setListAdapter(adapter);
//
======= For Google Maps Check============
if
(
!
this
.isGoogleMapsInstalled()) { AlertDialog.Builder builder
=
new
AlertDialog.Builder(
this
); builder.setMessage(
"
Install Google Map ?
"
); builder.setCancelable(
false
); builder.setPositiveButton(
"
Install
"
, getGoogleMapsListener()); AlertDialog dialog
=
builder.create(); dialog.show(); } }
如今再運行,就會提示用戶安裝缺乏的內容.