Android Map新用法:MapFragment
1.MapView ,MapActivity 這種的局限在于,必須要繼承MapActivity,否則無法使用MapView。糾結(jié)就在于此。但是,***官網(wǎng)上已經(jīng)棄用了這糟粕的MapActivity。
Version 1 of the Google Maps Android API as been officially deprecated as of December 3rd, 2012. This means that from March 3rd, 2013 you will no longer be able to request an API key for this version. No new features will be added to Google Maps Android API v1. However, apps using v1 will continue to work on devices. Existing and new developers are encouraged to use Google Maps Android API v2.
MapFragment是剛出的google官方包,要集成進(jìn)來還是挺麻煩的。官網(wǎng)鏈接
- 首先要到google conlose 添 加api access權(quán)限,拿到apikey,創(chuàng)建一個(gè)project ,然后到services里把Google Maps Android API v2打開,再到api access里把你的project的keystore的SHA1和包名填進(jìn)去,拿到唯一的api key
- 打開sdk manager--在Extras里把Android Support Libaray 和 Google Play Services都安裝,lib和samples都在sdk_path/extra/google/google_play_services下。導(dǎo) 入../lib_project作為自己項(xiàng)目的libaray
- 這一步完了之后在manifest.xml文件里添加權(quán)限和api key。代碼如下:
- <permission
- android:name="com.example.permission.MAPS_RECEIVE"
- android:protectionLevel="signature"/>
- com.example替換成自己project的package
- <uses-permission android:name="com.example.permission.MAPS_RECEIVE"/>
- <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
- <uses-permission android:name="android.permission.INTERNET"/>
- <uses-permission android:name="com.google.android.providers.gsf.permission.READ_GSERVICES"/>
- <!--My Location-->
- <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION"/>
- <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/>
- <!--Maps API needs OpenGL ES2.0.-->
- <uses-feature
- android:glEsVersion="0x00020000"
- android:required="true"/>
- 放在application聲明里
- <meta-data
- android:name="com.google.android.maps.v2.API_KEY"
- android:value="appkey"/>
在layout xml里加入MapFragment聲明:
- <fragment xmlns:android="http://schemas.android.com/apk/res/android"
- android:id="@+id/map"
- android:layout_width="match_parent"
- android:layout_height="match_parent"
- class="com.google.android.gms.maps.MapFragment"/>
activity不變,extends Activity就可以了。 不需要繼承MapActivity了。
注意,debug狀態(tài)下是不可以顯示地圖的,一定要在正式簽名下map才會(huì)顯示出來。
install下應(yīng)該就能看到map了。
還有不懂的就多看看官方文檔把,介紹的很清楚。