注意
Google Maps Android API v1 的 MapView 無法在 API v2 繼續使用!別把 MapView 套過來使用!一、安裝與設定 Google Play Services 的 SDK
請參考 [Android] 安裝與設定 Google Play Services 的 SDK。二、取得 Android certificate 和 Google Maps API key
打開 Google APIs Console 。1. Create Project
2. Services -> Google Maps Android API v2 -> on
3. API Access -> Create New Android Key...
4. 輸入 SHA-1 fingerprint + ; + app's package name
For example:
BB:0D:AC:74:D3:21:E1:43:67:71:9B:62:91:AF:A1:66:6E:44:5D:75;com.example.android.mapexample
SHA-a fingerprint:
Linux/OS X
keytool -list -v -keystore ~/.android/debug.keystore -alias androiddebugkey -storepass android -keypass androidWindows Vista/7
keytool -list -v -keystore "%USERPROFILE%\.android\debug.keystore" -alias androiddebugkey -storepass android -keypass android
5. Key for Android apps (with certificates) -> API key
6. 在 AndroidManifest.xml 的 <application> 和 </application> 裡面貼上下面這段,value 的地方把 API_KEY 換成步驟五得到的 API Key。
<meta-data android:name="com.google.android.maps.v2.API_KEY" android:value="API_KEY" />
7. Rebuild project
三、在AndroidManifest.xml 中加入設定
以下這些加在 <manifest></manifest> 內但 <application></application> 外。1. 一定要加。
<uses-permission android:name="android.permission.INTERNET" /> <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> <uses-permission android:name="com.google.android.providers.gsf.permission.READ_GSERVICES" /> <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
2. 建議加。
如果有需要取得使用者現在位置
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" /> <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
3. 建議加。
由於 Google Maps Android API 是用 OpenGL ES version 2 繪製地圖,加了可以讓 Google Play Store 知道,不支援 OpenGL ES version 2 的裝置無法使用你的 app。<uses-feature android:glesversion="0x00020000" android:required="true" />
四、加入地圖
1. 把地圖的 Fragment (下面這段)加到你想顯示的地方,ex: activity_main.xml。
<fragment android:id="@+id/map" android:layout_height="match_parent" android:layout_width="match_parent" android:name="com.google.android.gms.maps.SupportMapFragment" />
2. 在相對應的頁面 Java 檔(ex: MainActivity.java)的 onCreate 中加入 setContentView(R.layout.activity_main);。
public class MainActivity extends FragmentActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); } }
五、Build ,然後 Run
在實體裝置/模擬器上,一個最簡單、最初始化的地圖就會出現囉!>> 無論是實體裝置或是模擬器,裡面要有 Google Play Store 才能跑喔!
後續可以參考 https://developers.google.com/maps/documentation/android/
沒有留言:
張貼留言