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