Android(十一):ubuntu10.10下Google Map入门

第一次使用Map,感觉麻烦,但是没有办法,谁让你使用别人的东西呢??只好慢慢来。下面说一下使用模拟器完成初探Map的旅程。首先声明,这是在ubuntu下完成的。

第一步,找到debug.keystore文件

在用户目录下,进行下面操作,可以看到该文件。

ls -al // 列出所有文件,包括隐藏文件 cd .android 

第二步,复制该文件到其它目录

不这样做的话,在第三步指定debug.keystore路径为/home/mark/.android/debug.keystore会报错

cp debug.keystore /home/mark/myBack

第三步,得到认证指纹

执行下面命令,可以得到认证指纹Certificate fingerprint (MD5),类似与×:×:x形式。keytool是jdk自带工具,如果你配置环境变量正确的话,执行下面命令不会有任何问题。

cd // 回到用户目录 keytool -list -alias androiddebugkey -keystore "/home/mark/myBack/debug.keystore" -storepass android -keypass android  

第四步,申请apiKey

网址:http://code.google.com/intl/zh-CN/android/maps-api-signup.html

复制上面的认证指纹,点击Generate API Key即可获得apiKey

第五步,创建模拟器

选择Target :Google APIs (Google inc.) -API Level 7,你也可以选择其他Level。

第六步,新建android项目,写main.xml文件

选择上面创建的模拟器,否则有异常。

<?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="fill_parent"> <com.google.android.maps.MapView android:id="@+id/mapview" android:layout_width="fill_parent" android:layout_height="fill_parent" android:enabled="true" android:clickable="true" android:apiKey="0d1eIkqj2C_g-zOsWoeRZXwKWPlHifb3bXnD3FA" /> </RelativeLayout> 

第七步,补充manifest.xml文件

添加权限、库文件

<?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="mark.zhang" android:versionCode="1" android:versionName="1.0"> <uses-sdk android:minSdkVersion="7" /> <application android:icon="@drawable/icon" android:label="@string/app_name"> <activity android:name=".MapViewActivity" android:label="@string/app_name"> <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity> <uses-library android:name="com.google.android.maps"/> <uses-permission android:name="android.permission.INTERNET"/> <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/> <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" /> </application> </manifest> 

第八步,写activity代码

继承MapActivity,该代码主要是在用户点击上、下、左、右四个按键时弹出Toast。没什么其它功能。

package mark.zhang; import android.os.Bundle; import android.view.KeyEvent; import android.view.View; import android.view.View.OnKeyListener; import android.widget.Toast; import com.google.android.maps.MapActivity; import com.google.android.maps.MapView; public class MapViewActivity extends MapActivity { private final OnKeyListener l = new OnKeyListener() { @Override public boolean onKey(View v, int keyCode, KeyEvent event) { // ACTION_UP == 1 // ACTION_MULTIPLE == 2 // ACTION_DOWN == 0 // 是否有键按下 if (event.getAction() == KeyEvent.ACTION_DOWN) { switch (keyCode) { case KeyEvent.KEYCODE_DPAD_UP: Toast.makeText(MapViewActivity.this, "UP", Toast.LENGTH_SHORT).show(); return true; case KeyEvent.KEYCODE_DPAD_DOWN: Toast.makeText(MapViewActivity.this, "DOWN", Toast.LENGTH_SHORT).show(); System.out.println("DPAD_DOWN"); return true; case KeyEvent.KEYCODE_DPAD_LEFT: Toast.makeText(MapViewActivity.this, "LEFT", Toast.LENGTH_SHORT).show(); return true; case KeyEvent.KEYCODE_DPAD_RIGHT: Toast.makeText(MapViewActivity.this, "RIGHT", Toast.LENGTH_SHORT).show(); return true; default: return true; } } else { return false; } } }; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); MapView mapView = (MapView) findViewById(R.id.mapview); mapView.setOnKeyListener(l); mapView.setFocusable(true); } @Override protected boolean isRouteDisplayed() { return false; } } 

第九步,运行程序。

注意:下面两句代码

mapView.setOnKeyListener(l); mapView.setFocusable(true); 

如果不设置mapView.setFocusable(true),不会有任何效果。

显示效果,如下所示:

Android(十一):ubuntu10.10下Google Map入门_第1张图片

很郁闷,不知道为什么图片显示不出来,全是白格子??????!!!!!!

 

 

你可能感兴趣的:(Android(十一):ubuntu10.10下Google Map入门)