CH 22 GOOGLE MAP Android SDK extragoogleplayservice Android

  • Slides: 44
Download presentation
CH 22 GOOGLE MAP

CH 22 GOOGLE MAP

– 安裝後,在Android SDK的安裝資料夾中會出現 「extra/google_play_service」資料夾。 – 匯入「<Android SDK安裝資料夾 >/extra/google_play_service/libproject/go ogle_player_services_lib」函式庫專案 – – 從Eclipse執行「File>Import>」 從開啟的「Import」對話框選「Android」分類中的 「Existing

– 安裝後,在Android SDK的安裝資料夾中會出現 「extra/google_play_service」資料夾。 – 匯入「<Android SDK安裝資料夾 >/extra/google_play_service/libproject/go ogle_player_services_lib」函式庫專案 – – 從Eclipse執行「File>Import>」 從開啟的「Import」對話框選「Android」分類中的 「Existing Android Code Into Worksapce」,敲「Next 」鈕 再利用「Root Directory」的「Browse」鈕找到「 google_player_services_lib」函式庫專案資料夾,記 得勾選「Copy projects into workspace」 然後敲「Finish」鈕匯入此函式庫專案。

新版Eclipse已不須此步驟 – 開啟命令提示字元視窗,移到Java安裝資料夾, 執行以下keytool命令: Keytool –list –v –keystore “<你debug. keystore檔完整路徑 >” -alias androiddebugkey –storepass

新版Eclipse已不須此步驟 – 開啟命令提示字元視窗,移到Java安裝資料夾, 執行以下keytool命令: Keytool –list –v –keystore “<你debug. keystore檔完整路徑 >” -alias androiddebugkey –storepass android –keypass android – 執行後顯示認證指紋,記錄你的SHA 1認證指紋。

– 從Eclipse開啟組態檔Android. Manifest. xml,完成以 下設定: • • 書上遺漏此指令 加入下列服務的引用 <meta-data android: name="com. google. android.

– 從Eclipse開啟組態檔Android. Manifest. xml,完成以 下設定: • • 書上遺漏此指令 加入下列服務的引用 <meta-data android: name="com. google. android. gms. version“ android: value="@integer/google_play_services_version" /> 加入API Key的引用 <meta-data android: name= “com. google. android. maps. v 2. API_KEY” android: value="<你的API Key>"/>

Ï 增加應用程式可以接受Google Map資訊的許可,這 是透過增加<permission>與<uses-permission>元素完 成,加入位置為<application>標記之前,加入的內容 如下: <permission android: name= "com. example. googlemaptest. permission. MAPS_RECEIVE"

Ï 增加應用程式可以接受Google Map資訊的許可,這 是透過增加<permission>與<uses-permission>元素完 成,加入位置為<application>標記之前,加入的內容 如下: <permission android: name= "com. example. googlemaptest. permission. MAPS_RECEIVE" android: protection. Level="signature"/> <uses-permission android: name= "com. example. googlemaptest. permission. MAPS_RECEIVE"/>

Ï 申請必要的使用許可如下: ÷透過網路下載地圖圖資 <uses-permission android: name= "android. permission. INTERNET"/> ÷允許讀取以網頁為基礎的服務 <uses-permission android: name= "com.

Ï 申請必要的使用許可如下: ÷透過網路下載地圖圖資 <uses-permission android: name= "android. permission. INTERNET"/> ÷允許讀取以網頁為基礎的服務 <uses-permission android: name= "com. google. android. providers. gsf. permission. READ_GSERVICES"/> ÷允許將圖資暫存在外部記憶體(SD卡) <uses-permission android: name= "android. permission. WRITE_EXTERNAL_STORAGE"/>

Ï 以下的使用許可是為了方便而申請,對目前專案並 無直接關係: ÷ 允許以Wi-Fi 網路或基地台定位 <uses-permission android: name= "android. permission. ACCESS_COARSE_LOCATION"/> ÷ 允許以GPS定位

Ï 以下的使用許可是為了方便而申請,對目前專案並 無直接關係: ÷ 允許以Wi-Fi 網路或基地台定位 <uses-permission android: name= "android. permission. ACCESS_COARSE_LOCATION"/> ÷ 允許以GPS定位 <uses-permission android: name= "android. permission. ACCESS_FINE_LOCATION"/> ÷ 允許存取網路狀態 <uses-permission android: name= "android. permission. ACCESS_NETWORK_STATE"/>

Ï Google Maps Android API v 2 需要使用 Open. GL ES第 2 版的功能,因此必需限制具有此功能的裝置才能安 裝:

Ï Google Maps Android API v 2 需要使用 Open. GL ES第 2 版的功能,因此必需限制具有此功能的裝置才能安 裝: <uses-feature android: gl. Es. Version="0 x 00020000" android: required="true"/>

– Google Maps Android API v 2不再以「Map. View」 類別顯示Google地圖,而改以Fragment顯示地 圖。如果使用Android SDK 4. 0以上版本,可以使 用「Map.

– Google Maps Android API v 2不再以「Map. View」 類別顯示Google地圖,而改以Fragment顯示地 圖。如果使用Android SDK 4. 0以上版本,可以使 用「Map. Fragment」類別,否則應使用「 Support. Map. Fragment」類別;此範例我們先使 用「Map. Fragment」類別。 – 範例詳細內容請參考原書 code 22 -3。 • 因為Google Maps Android API v 2會用到 Google Play Service,而且Google Play Service 必須與 Google Play Store互動,而模擬器內 並沒有Google Play Store,因此Google Map 的應用只能在實際裝置上進行測試。

– Google. Map • 所有對Google地圖的操作都要從此類別開始, 此類別實體是透過Fragment. Manager或 Support. Fragment. Manager物件的get. Map()方 法取得。 • Google.

– Google. Map • 所有對Google地圖的操作都要從此類別開始, 此類別實體是透過Fragment. Manager或 Support. Fragment. Manager物件的get. Map()方 法取得。 • Google. Map常用方法如下: – add. Marker (Marker. Options options):在地圖 上增加一個標記。 – animate. Camera (Camera. Update update):以 動畫方式將Camera從目前位置移到 Camera. Update指定的位置;Camera位置就是 顯示的地圖位置。

get. Ui. Settings():取得此地圖的使用者介面設定。 Ï move. Camera(Camera. Update update):依 Camera. Update重新定位Camera。 Ï set. Info. Window.

get. Ui. Settings():取得此地圖的使用者介面設定。 Ï move. Camera(Camera. Update update):依 Camera. Update重新定位Camera。 Ï set. Info. Window. Adapter(Google. Map. Info. Window Adapter adapter):設定自定的訊息窗描繪器。 Ï set. My. Location. Enabled(boolean enabled):啟用 或停用我的位置圖層,啟用此功能會持續繪 出使用者目前位置與方位指示器,並顯示可 以和目前位置互動的使用者介面控制。 Ï set. On. Info. Window. Click. Listener(Google. Map. On. In fo. Window. Click. Listener listener):設定當敲標記 訊息窗時系統回呼的方法。 Ï

set. On. Map. Click. Listener(Google. Map. On. Map. Clic k. Listener listener):設定當敲地圖時系統回呼 的方法。 Ï

set. On. Map. Click. Listener(Google. Map. On. Map. Clic k. Listener listener):設定當敲地圖時系統回呼 的方法。 Ï set. On. Map. Long. Click. Listener(Google. Map. On. Ma p. Long. Click. Listener listener):設定當長壓地圖 時系統回呼的方法。 Ï set. On. Marker. Click. Listener(Google. Map. On. Mark er. Click. Listener listener):設定當敲標記時系 統回呼的方法。 Ï set. On. Marker. Drag. Listener(Google. Map. On. Mark er. Drag. Listener listener):設定當拖曳標記時 系統回呼的方法。 Ï

– Camera. Position Ï 地圖的Camera是透過Camera. Position類別設定 它位置的相關資料。 Ï 類別常用方法如下: ÷ Camera. Position(Lat. Lng target,

– Camera. Position Ï 地圖的Camera是透過Camera. Position類別設定 它位置的相關資料。 Ï 類別常用方法如下: ÷ Camera. Position(Lat. Lng target, float zoom, float tilt, float bearing):以指定的經緯度座標(位 置)、縮放等級(鏡頭遠近,可以設定的範圍 依位置、地圖型式與螢幕尺寸而變)、Camera 傾斜角及方位角等資料,建置Camera. Position 物件。 ÷ Camera. Position. Builder builder(Camera. Position camera):用指定的Camera. Position物件產生 一個Camera位置建立者。

此Camera. Update Ï 此類別實際控制Camera的動作,此類別的實 體物件由Camera. Update. Factory建立, Google. Map透過 animate. Camera(Camera. Update)或 move. Camera(Camera.

此Camera. Update Ï 此類別實際控制Camera的動作,此類別的實 體物件由Camera. Update. Factory建立, Google. Map透過 animate. Camera(Camera. Update)或 move. Camera(Camera. Update)修訂Camera位置 參數(因此Camera會改變位置)。 Ï

– Camera. Update. Factory Ï 此類別主要用以建立Camera. Update物件。一般是用 「new. Camera. Position (Camera. Position camera. Position)」方法,以傳入的Camera.

– Camera. Update. Factory Ï 此類別主要用以建立Camera. Update物件。一般是用 「new. Camera. Position (Camera. Position camera. Position)」方法,以傳入的Camera. Position物 件建立Camera. Update,傳入的Camera. Position物件可 用以設定Camera的位置座標、方位角、傾斜角或縮 放等級等資料。

set. Snippet(String snippet):設定此Marker訊息窗的說 明文字。 Ï get. Title():回傳此Marker在訊息窗顯示的標題。 Ï set. Title(String title):設定此Marker在訊息窗顯示的 標題。 Ï is.

set. Snippet(String snippet):設定此Marker訊息窗的說 明文字。 Ï get. Title():回傳此Marker在訊息窗顯示的標題。 Ï set. Title(String title):設定此Marker在訊息窗顯示的 標題。 Ï is. Draggable():回傳此Marker是否可被使用者拖曳而 改變位置。 Ï set. Draggable(boolean draggable):設定此Marker是否 可以被使用者拖曳而改變位置。 Ï set. Visible(boolean visible):設定此Marker是否可見。 Ï

– Marker. Option 定義一個標記的各項屬性,常用方法如下: Ï draggable(boolean draggable):設定Marker的拖曳屬 性。 Ï icon(Bitmap. Descriptor icon):設定Marker顯示的圖示。 Ï position(Lat.

– Marker. Option 定義一個標記的各項屬性,常用方法如下: Ï draggable(boolean draggable):設定Marker的拖曳屬 性。 Ï icon(Bitmap. Descriptor icon):設定Marker顯示的圖示。 Ï position(Lat. Lng position):設定Marker顯示的位置。 Ï snippet(String snippet):設定Marker顯示的說明文字。 Ï title(String title):設定Marker顯示的標題。 Ï visible(boolean visible):設定Marker是否可見。 Ï

+ 設定地圖顯示位置是透過Camera. Update物 件,而Google. Map移動Camera有2種方式, 一是以 Google. Map. move. Camera(Camera. Update)採 取立即的移動,或是以 Google. Map.

+ 設定地圖顯示位置是透過Camera. Update物 件,而Google. Map移動Camera有2種方式, 一是以 Google. Map. move. Camera(Camera. Update)採 取立即的移動,或是以 Google. Map. animate. Camera(Camera. Update) 用動態方式移動。 + Map. Location. Set Test範例 – 也改用「Support. Map. Fragment」顯示地圖,因 此將活動改為延伸自「Fragment. Activity」類別。 – 範例詳細內容請參考原書。