Cyh的博客

          Email:kissyan4916@163.com
          posts - 26, comments - 19, trackbacks - 0, articles - 220

          前言:

          今天翻了一個上午的網絡,在android 模擬器下配置google maps遇到了問題,查閱了一堆資料,多數講解的不是很清晰,呵呵,經過多次試驗終于OK了,現把每一步詳細列出來,提供給像我這樣的初學者。大家共同進步


          1)首先你要確定你安裝的JDK位置,Windows->Preferences->Java->Installed JREs,你可以看到是Jre的location,再在dos cmd模式下查看你當前系統的path是否已經包含了。如果沒有包含添加到當前環境參數中。因為我們要用到的keytool命令在這個目錄下呀。
          2)接下來就要找到你不前AVD的debug.keystore的位置,windows->perferences->android->build,
          default debug keystore文本框中,列出C:\Documents and Settings\XXXXuser\.android\debug.keystore,這就是默認的debug.keystore,你可以先把這個文件改一下名。我們需要創建一個新的debug.keystore
          3)緊接著我們來創建一個新的debug.keystore,在cmd下,進入C:\Documents and Settings\XXXXuser\.android目錄
          執行命令如下:
          keytool -genkey -v -keystore debug.keystore -alias androiddebugkey -keyalg RSA -validity 10000
          輸入密碼,用戶等信息確認后生成一個debug.keystore
          4)好了,接下來我們就需要獲取MD5,去google申請一個apikey,很簡單
          在當前目錄下執行:
          keytool -list -alias androiddebugkey -keystore debug.keystore
          根據提示輸入你在第三步所設的密碼,ok,就會得到下面信息,
          Certificate fingerprint (MD5): FC:ED:DE:BS:16:1A:E8:05:F0:44:AD:4E:45:42:4B:D4
          這就是我們申請apikey時需要的FC:ED:DE:BS:16:1A:E8:05:F0:44:AD:4E:45:42:4B:D4
          通過瀏覽器訪問http://code.google.com/android/maps-api-signup.html
          在My certificate's MD5 fingerprint文本框中輸入您剛剛獲取到的MD5碼
          點擊Generate API Key,
          Thank you for signing up for an Android Maps API key!
          Your key is:
          0yRkOg8325bNSbeuYXZMsj-CMG2rXXXqFBoa11A
          這就是apikey了,記得保存下呀

          5)新建一個android項目
          修改main.xml
          <?xml version="1.0" encoding="utf-8"?>
          <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
              android:orientation="vertical"
              android:layout_width="fill_parent"
              android:layout_height="fill_parent"
              >
          <view class = "com.google.android.maps.MapView" 
           android:id = "@+id/my_map"
           android:enabled = "true"
           android:apiKey="0yRkOg8325bNSbeuYXZMsj-CMG2rXXXqFBoa11A"
              android:layout_width="fill_parent"
              android:layout_height="wrap_content"
              />
          </LinearLayout>
          在layout中定義mapview時需要加入apikey, 如:android:apiKey="0yRkOg8325bNSbeuYXZMsj-CMG2rXXXqFBoa11A"
          6)修改androidmanifest.xml
          <?xml version="1.0" encoding="utf-8"?>
          <manifest xmlns:android="http://schemas.android.com/apk/res/android"
                package="com.testmap"
                android:versionCode="1"
                android:versionName="1.0">
              <application android:icon="@drawable/icon" android:label="@string/app_name">
                  <uses-library  android:name="com.google.android.maps" />
                  <activity android:name=".testmap"
                            android:label="@string/app_name">
                      <intent-filter>
                          <action android:name="android.intent.action.MAIN" />
                          <category android:name="android.intent.category.LAUNCHER" />
                      </intent-filter>
                  </activity>

              </application>
              <uses-sdk android:minSdkVersion="5" />
          <uses-permission android:name="android.permission.INTERNET"></uses-permission>
          <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION"></uses-permission>
          <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"></uses-permission>
          </manifest>

          我們需要加入用戶庫引用<uses-library  android:name="com.google.android.maps" />
          當然了還要加入權限的定義
          <uses-permission android:name="android.permission.INTERNET"></uses-permission>
          這兩步必不可少

          7)最后就是主class了



          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.os.Bundle;


          public class testmap extends MapActivity {
              
          /** Called when the activity is first created. */
              @Override
              
          public void onCreate(Bundle savedInstanceState) {
               
          super.onCreate(savedInstanceState);
                  setContentView(R.layout.main);
                  
                  
          //get map view
                  MapView mv = (MapView) findViewById(R.id.my_map);
                  MapController controller  
          = (MapController)mv.getController();
                  
                  GeoPoint p 
          = new GeoPoint((int) (24.7 * 1000000),(int)(-238.8 * 1000000));
                  controller.animateTo(p);
                  controller.setZoom(
          9);

              }
              @Override
              
          protected boolean isRouteDisplayed() {
               
          // TODO Auto-generated method stub
               return false;
              }
          }



                                                                                                                 --    學海無涯
                  

          主站蜘蛛池模板: 商南县| 鄂州市| 罗甸县| 利辛县| 扎赉特旗| 五原县| 遂宁市| 永寿县| 佳木斯市| 徐州市| 梅河口市| 西畴县| 普兰店市| 江永县| 永宁县| 利辛县| 孝感市| 龙山县| 青铜峡市| 三河市| 红桥区| 静海县| 乌苏市| 酒泉市| 德庆县| 永新县| 静安区| 洛浦县| 陕西省| 许昌县| 涞水县| 错那县| 长垣县| 出国| 祁阳县| 拜城县| 秭归县| 镇安县| 双城市| 娄底市| 泸水县|