Android的位置和地圖

位置和基於地圖的應用程序,對於移動設備用戶來說是最具吸引力的。你能夠使用android.location包和Google Map的外部類庫,把這些能力構建到你的應用程序中。

位置服務

Android通過android.location包中的類把設備所支持的位置服務提供給你的應用程序。位置框架的核心組件是LocationManager系統服務,它提供瞭API來確定位置和設備的方位(如果有效)。

跟其他系統服務一樣,不需要直接實例化LocationManager。相反,你可以通過調用getSystemService(Context.LOCATION_SERVICE)方法來向系統申請一個實例。這個方法會返回一個新的LocationManager實例的句柄。

一旦你的應用程序有瞭LocationManager對象,你的應用程序就能夠做以下3件事情:

1.  查詢所有的最有獲取用戶位置的LocationProvider對象的列表;

2.  註冊/註銷來自位置提供器的用戶當前位置的周期性更新(既可以通過規則來指定,也可以通過名稱來指定)

3.  註冊/註銷設備接近給定的經緯度(以米為單位的半徑區域)范圍時所要觸發的Intent對象。

更多的信息,請看位置策略指南

Google Map外部類庫

為瞭讓你更加容易的把強大的地圖能力添加到你的應用程序中,Google提供瞭一個地圖外部類庫,它包含在com.google.android.maps包中。這個包中類提供瞭內置的下載、呈現和題圖標題緩存功能,以及各種顯示選項和控制。

這個地圖包的關鍵類是com.google.android.maps.MayView,它是ViewGroup的一個子類。MapView顯示瞭一份帶有從Google Maps服務中所獲取的數據的地圖。當該MapView有焦點的時候,它會捕獲按鍵和觸摸手勢,來自動的平移和縮放地圖,包括處理額外的獲取地圖標題的網絡請求。它還提供瞭所有的用於用戶控制地圖所需要的UI元素。你的應用程序也能夠使用MapView類的方法來編程控制MapView,並且在地圖的上面繪制一些重疊類型。

通常,MapView類圍繞Google Maps API提供瞭一個封裝,從而讓你的應用程序通過這些封裝的方法來維護Google Maps數據。並且它會讓你把地圖數據跟其他類型的View一起來工作。

這個地圖外部類庫不是標準Android類庫的一部分,因此,它可能在兼容性Android設備上不存在。類似的,該地圖外部類庫沒有包含在SDK所提供的標準的Android類庫中,因此,你隻有在該地圖外部類庫是作為Google API的一部分被添加到Android SDK時,你才能夠使用com.google.android.maps包中的類來進行開發。

 為瞭你的方便,Google APIs add-on是可以通過Android SDK管理器來下載的。

註意:為瞭在MapView中顯示Google Maps數據,你必須要註冊Google Maps服務,並獲取一個Maps API Key,更多的信息請看如何獲取Maps API Key

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。