2013-05-16

(V2)Google MAP地圖使用與定位

首先,要在Android上開發Google Map的相關App,得先安裝Google Play Services。

找出當初安裝android sdk的資料夾,搜尋google-play-services_lib,記住路徑
在Eclipse裡匯入Existing Android Code into Workspace,把剛剛說到的東西匯
入。

開發還需要另外一個東西,就是測試金鑰,請找到debug.keystore
然後把路徑塞到
keytool -list -v -keystore 路徑 -alias androiddebugkey -storepass android -keypass android
複製到命令提示字元執行,把得到的SHA1碼拿到 Google APIs Console申請金鑰

把Google Maps Android API v2調至ON,到API Access選擇Create Android Key
把SHA1碼後面接上 ;專案套件

Ex. 
18:57:39:E4:4E:55:64:35:92:20:E5:19:5F:AD:57:FC:09:15:83:D2;com.test..map

Create後得到KEY

再來就到AndroidManifest.xml設定KEY和權限
<uses-permission android:name="com.tw.gmap.permission.MAPS_RECEIVE" />
<uses-permission android:name="android.permission.INTERNET"/>
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
<uses-permission android:name="com.google.android.providers.gsf.permission.READ_GSERVICES"/>

<uses-feature
        android:glEsVersion="0x00020000"
        android:required="true"/>
<permission android:protectionLevel="signature" android:name="com.tw.gmap.permission.MAPS_RECEIVE"></permission>

然後到 Application 頁籤,Add   Meta Data,在 Name 填入 「com.google.android.maps.v2.API_KEY」,在 Value 填入 API  KEY 。

再來只要再到main.xml新增顯示map的東西即可
<fragment 
  android:id="@+id/map"
  android:layout_width="match_parent"
  android:layout_height="match_parent"
  class="com.google.android.gms.maps.MapFragment" />

最後,要先把之前的google-play-services_lib加入,把專案右鍵→內容→Android→Library→Add
然後加入google-play-services_lib即可。

可以執行囉~

要加入定位則到main.java加入
GoogleMap mMap = ((MapFragment)getFragmentManager().findFragmentById(R.id.map)).getMap();
mMap.setMyLocationEnabled(true);

再到AndroidManifest.xml加入
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION"/>
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/>

執行後即有可以定位的按鈕~