前言
本章內容為 Android開發人員指南的 Framework Topics/Location and Maps章節,譯為"位置和地圖",版本為Android 4.0 r1,翻譯來自:"太陽火神的美麗人生",歡迎訪問他的微博:"http://alot.sinaapp.com",再次感謝他 !期待你一起參與翻譯Android的相關資料,聯絡我over140@gmail.com。
聲明
歡迎轉載,但請保留文章原始出處:)
部落格園:http://www.cnblogs.com/
Android中文翻譯組:http://androidbox.sinaapp.com/
位置和地圖
譯者署名:太陽火神的美麗人生
譯者連結:http://alot.sinaapp.com
版本:Android 4.0 r1
原文
http://developer.android.com/guide/topics/location/index.html
基於位置和地圖的應用對行動裝置使用者來說更引人注目。你可以使用android.location
包的類和Google地圖擴充庫將這種能力構建到你的應用中。以下各部分提供細節資訊。
位置服務
Android 通過 android.location
包中的類使你的應用可以訪問由裝置來支撐的位置服務。位置架構的核心組件是
LocationManager
系統服務,它提供了一些應用編程介面來確定位置和測定底層裝置的方向(如果可用)。
和其它系統服務一樣,你不要直接執行個體化LocationManager
。當然,你可以通過調用
getSystemService(Context.LOCATION_SERVICE)
從系統請求一個執行個體。該方法返回指向一個新的
LocationManager
執行個體的控制代碼。
一旦你的應用有了一個 LocationManager
,就可以做如下三件事了:
- 查詢到所有的
LocationProvider
的列表,以獲得最新的使用者位置。
- 從某個位置提供者註冊/登出定期更新使用者的當前位置(通過條件或名稱指定)。
- 註冊/登出在裝置接近給定經/緯度範圍(由米為單位的半徑指定)內時要被啟用的指定意向。
要獲得更多資訊,閱讀 獲得使用者位置 指南。
Google地圖擴充庫
為了使你添加強大的地圖能力到應用中更容易,Google提供了包含com.google.android.maps 包的地圖擴充庫。com.google.android.maps包的類提供了內建的下載、渲染和緩衝地圖片段能力,以及各種顯示選項和控制項。
地圖包中的主要類是com.google.android.maps.MapView
,它是一個
ViewGroup
的子類。
MapView顯示承載從Google地圖服務獲得的資料的地圖。當MapView獲得焦點時,它會自動捕獲鍵盤按鍵和觸摸手勢來平移和縮放地圖,包括處理網路請求獲得額外的地圖片段。它也提供了所有必需的使用者介面元素給使用者來控制地圖。你的應用也可以使用MapView類方法來編程式控制制MapView並在地圖上繪製一定數量的修飾樣式。
通常,MapView類提供一個Google地圖應用編程介面的封裝,它使你的應用可以通過類方法操作Google地圖資料,並且當你想要其它類型的視圖時它可以讓你使用地圖資料。
地圖擴充庫不是標準Android 庫的一部分,所以它可能在某些相容的Android裝置上不存在。同樣,地圖擴充庫也未包含在SDK 提供的標準Android庫中。地圖擴充庫作為Android SDKGoogle應用編程介面外掛程式的一部分提供給你使用,以便你可以使用
要瞭解更多有關地圖擴充庫的資訊以及如何下載和使用Google應用編程介面外掛程式,訪問
http://code.google.com/android/add-ons/google-apis
為了您的方便,Google應用編程介面外掛程式也可以作為可下載的組件從Android SDK 和 AVD Manager中下載使用(參見Adding SDK 組件)。
注意:要在一個MapView中顯示Google地圖資料,你必須註冊Google地圖服務並獲得一個Maps API Key(地圖應用編程介面密鑰)。要瞭解有關如何獲得一個Maps API Key(地圖應用編程介面密鑰)的資訊,參見 獲得一個地圖應用編程介面密鑰(btaining a Maps API Key)。