在Android模擬器中使用google maps的基本配置

來源:互聯網
上載者:User

前言:

今天翻了一個上午的網路,在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.key store -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;
    }
}

 

 

 

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.