標籤:
MapView ,MapActivity 這種的局限在於,必須要繼承MapActivity,否則無法使用MapView,但是,MapFragment 這種的局限在於,必須要安裝Google Play Service ,也就是說必須是原生rom。而且sdk要在12以上
1.MapView ,MapActivity 這種的局限在於,必須要繼承MapActivity,否則無法使用MapView。糾結就在於此。但是,最新官網上已經棄用了這糟粕的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.
2.MapFragment 這種的局限在於,必須要安裝Google Play Service ,也就是說必須是原生rom。而且sdk要在12以上。我蛋疼了。
3.WebView 貌似很輕鬆的整合進來,但沒有實踐就木有發言權。
第一種方式我先略過了。大家都知道。說第二種,第三種會了再補上
MapFragment是剛出的google官方包,要整合進來還是挺麻煩的。官網連結 https://developers.google.com/maps/documentation/android/start
首先要到google conlose 添加api access許可權,拿到apikey,建立一個project ,然後到services裡把Google Maps Android API v2開啟,再到api access裡把你的project的keystore的SHA1和包名填進去,拿到唯一的api key
開啟sdk manager--在Extras裡把Android Support Libaray 和 Google Play Services都安裝,lib和samples都在sdk_path/extra/google/google_play_services下。匯入../lib_project作為自己項目的libaray
這一步完了之後在manifest.xml檔案裡添加許可權和api key。代碼如下
<permissionandroid: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-featureandroid:glEsVersion="0x00020000"android:required="true"/>
放在application聲明裡
<meta-dataandroid: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"/>
Android Map新用法:MapFragment應用