34
Google Map #1 根據Google Maps Android API V2更新 曾吉弘 [email protected] 1

Google Map Android API V2 setup guide

Embed Size (px)

DESCRIPTION

Google Map Android API V2 setup guide, 按圖施工保證成功

Citation preview

Page 1: Google Map Android API V2 setup guide

Google Map #1

根據Google Maps Android API V2更新

曾吉弘

[email protected]

1

Page 2: Google Map Android API V2 setup guide

大綱

• Google Maps Android API V2

• 申請Google Map API Key

• 載入Google Map - GMap

2

Page 3: Google Map Android API V2 setup guide

環境建置

Google Maps Android API V2

3

Page 4: Google Map Android API V2 setup guide

步驟

1. 安裝 Google Play services SDK

2. 取得SHA1 憑證

3. Google APIs Console取得API key

4. 設定權限

5. 加入地圖

4

Page 5: Google Map Android API V2 setup guide

V1 / V2比一比

• V1 的專案版本一定要為GoogleAPI,V2則免。

• V1 的地圖元件為MapView,現已停用。V2之後改為 Fragment

5

Page 6: Google Map Android API V2 setup guide

新增專案Maps

package name需與金鑰相同

根據Google 官方文件操作https://developers.google.com/maps/documentation/android/start

?hl=zh-TW

6

Page 7: Google Map Android API V2 setup guide

安裝Google Play services SDK

• 請由 SDK Manager 中安裝[Google Play services]

7

Page 8: Google Map Android API V2 setup guide

匯入到Eclipse中• FileImport

• Existing Android Code Into Workspace

– <SDK>extras/google/google_play_services/libproject/google-play-services_lib 專案。

8

Page 9: Google Map Android API V2 setup guide

勾選Is Library

• 請勾選Is Library,否則無法從外部專案匯入。

Page 10: Google Map Android API V2 setup guide

會在畫面左側看到這個lib

Page 11: Google Map Android API V2 setup guide

新增專案GMap

Page 12: Google Map Android API V2 setup guide

在專案中匯入libs

• 對專案目錄點右鍵PropertiesAndroid

• Add libraries,請記得不要勾選 Is Library。Lib本身才要勾選。

• 完成如右圖

12

Page 13: Google Map Android API V2 setup guide

產生SHA1

• 在cmd下切換到 cd C:\Program Files\Java\jdk1.7.0_10\bin

• 輸入:

– keytool -list -v -keystore C:\Users\user\.android\debug.keystore

• 以上紅字會因為不同電腦或軟體版本有所不同

• 金鑰密碼請直接按ENTER

13

Page 14: Google Map Android API V2 setup guide

找到SHA1 那一行,其他不是

14

Page 15: Google Map Android API V2 setup guide

自己產生debug.keystore

• C:\Program Files\Java\<JDK>\bin>輸入:

• keytool -genkey -v -keystore <完整路徑>debug.keystore -storepass android -alias androiddebugkey -keypass android -dname"CN=Android Debug,O=Android,C=US

– http://stackoverflow.com/questions/8576732/there-is-no-debug-keystore-in-android-folder

• Win7 C:/Users/<帳號>/.android/

• XP Document and Settings (路徑包含空格會造成錯誤,可將檔案產生在其它位置)

15

Page 16: Google Map Android API V2 setup guide

Google API console

• https://code.google.com/apis/console/#project:48090014903

16

Page 17: Google Map Android API V2 setup guide

啟動 Google Maps Android API V2服務

17

Page 18: Google Map Android API V2 setup guide

API Access取得API Key

18

Page 19: Google Map Android API V2 setup guide

格式:SHA1;package name

package name改成自己的專案名稱

19

Page 20: Google Map Android API V2 setup guide

修改AndroidManifest.xml -1

• 在<application>元素中加入子標籤

• your_api_key請填入剛剛申請好API KEY– <meta-data

android:name="com.google.android.maps.v2.API_KEY"

android:value="your_api_key"/>

– <meta-data

android:name="com.google.android.gms.version" android:value="@integer/google_play_services_version"/>

20

Page 21: Google Map Android API V2 setup guide

修改AndroidManifest.xml -2• 加入權限

– <permissionandroid:name="com.example.mapdemo.permission.MAPS_RECEIVE" android:protectionLevel="signature"/>

– <uses-permissionandroid:name="com.example.mapdemo.permission.MAPS_RECEIVE"/>

• 其中com.example.mapdemo換成自己的。

21

Page 22: Google Map Android API V2 setup guide

加入其他權限

1. <uses-permission android:name="android.permission.INTERNET"/>2. <uses-permission

android:name="android.permission.ACCESS_NETWORK_STATE"/>3. <uses-permission

android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>4. <uses-permission

android:name="com.google.android.providers.gsf.permission.READ_GSERVICES"/>

5. <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION"/>

6. <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/>

• 5, 6項只有要用到定位功能時才要加入,但通常都會用到所以就加吧

22

Page 23: Google Map Android API V2 setup guide

Layout(fragment_main.xml)內容要改為 fragment

<?xml version="1.0" encoding="utf-8"?><fragment xmlns:android="http://schemas.android.com/apk/res/android"

android:id="@+id/map"android:layout_width="match_parent"android:layout_height="match_parent"android:name="com.google.android.gms.m

aps.MapFragment"/>

以上請將layout.xml 內容全部取代掉即可,不用改東西

23

Page 24: Google Map Android API V2 setup guide

修改MainActivity.xml

public class MainActivity extends FragmentActivity {

@Override

protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout. fragment_main);

//只載入畫面無進一步動作

}

}

Page 25: Google Map Android API V2 setup guide

載入Google Map

25

Page 26: Google Map Android API V2 setup guide

除錯小提醒

1. 請確認使用 debug.keystore來產生 SHA1

2. 記得在 AndroidManifest.xml中加入 API Key 、meta data與相關權限

3. 確認網路暢通

4. 有無匯入 Google Play services libraries

26

Page 27: Google Map Android API V2 setup guide

Package 要修改的地方

Page 28: Google Map Android API V2 setup guide

如果要執行於模擬器則較麻煩

• 因為模擬器並未安裝Google Play service,所以要另外安裝。

• 建議實機操作

• http://nkeegamedev.blogspot.tw/2012/12/android-google-maps-api-v2.html#uds-search-results

28

Page 29: Google Map Android API V2 setup guide

載入官方example

• https://developers.google.com/maps/documentation/android/intro#sample_code

• 改為自己的 package name 與 API Key

29

Page 30: Google Map Android API V2 setup guide

Google Map Javascript V3

• https://developers.google.com/maps/documentation/javascript/tutorial?hl=zh-tw

• 使用 Javascript來取得地圖網頁• 教學:

– http://nkeegamedev.blogspot.tw/2012/12/android-google-map-v3-1.html

• 好用的生成器:http://www.nap.st/google_map_generator/?lang=zh-TW

30

Page 31: Google Map Android API V2 setup guide

資料

• https://developers.google.com/maps/documentation/android/start

• 原有的怎麼辦?還是可以用,但無法再取得V1 的API Key了。

• http://www.moke.tw/wordpress/computer/advanced/410• http://nkeegamedev.blogspot.tw/2012/12/android-

google-maps-api-v2.html• http://saleh360.blogspot.tw/2012/12/android-running-

google-maps-api-v2_12.html• http://fecbob.pixnet.net/blog/post/38591179-google-

maps-android-api-v2%E4%BD%BF%E7%94%A8%E5%8F%8A%E5%95%8F%E9%A1%8C%E8%A7%A3%E6%B1%BA

31

Page 32: Google Map Android API V2 setup guide

資料

• 中研院GIS中心• http://gis.rchss.sinica.edu.tw/• 中研院GIS中心工具集

http://gis.ascc.net/ISTIS/tools.html• http://simonown.wordpress.com/2009/11/

22/aa0007/• 金門大學 http://gogkmit.wikidot.com/start• 畫出GPS路徑

http://changyy.pixnet.net/blog/post/28058989

32

Page 33: Google Map Android API V2 setup guide

資料

• 座標轉換http://gis.thl.ncku.edu.tw/coordtrans/coordtrans.aspx

• 景點分享

• http://www.wikigps.com/

33

Page 34: Google Map Android API V2 setup guide

補充資料:取得Google MAPs android API V2

• http://wangshifuola.blogspot.tw/2013/01/androidgoogle-maps-android-api-v2.html

• http://www.moke.tw/wordpress/computer/advanced/410

• 按部就班http://cheng-min-i-taiwan.blogspot.tw/2013/04/google-maps-android-api-v2-android.html

34