讀古今文學網 > Android程序設計:第2版 > MapView和MapActivity >

MapView和MapActivity

第9章的MJAndroid示例應用需要的就是在地圖之上增加一層圖形覆蓋層,用以顯示工作所在區域的地理位置。因此,這個應用使用的是MapView,而沒有使用Google Maps應用,使用MapView就可以根據需要添加圖形覆蓋層。每個Activity只能使用一個MapView,而且該Activity必須繼承MapActivity。正如你看到的,這是把MapView所提供的強大的圖形功能添加到應用中所需要付出的一個小小的代價。

MapView的使用有兩個唯一的前置條件,在第9章的MJAndroid初始化中可以看到這兩個前置條件:

包含MapView庫

MapView沒有在默認的Android庫中。因此,需要在AndroidManifest.xml文件中指定要使用該庫:


      <application android:icon="@drawable/icon2">
                  <uses-library android:name="com.google.android.maps" />
  

uses-library這行代碼不能隨意放在AndroidManifest.xml文件中的任意位置;它需要在<application>標籤內,並且在<activity>標籤定義外。

註冊應用,並從Google獲取Maps API密鑰

當在應用中使用MapView時,實際上是使用Google Maps的數據繪製地圖。出於法律原因,Google需要追蹤誰在使用它的地圖數據。Google不關心應用是如何使用數據的,但是需要在Google註冊以獲取API密鑰,並同意遵守其服務條款。這相當於告訴Google你在使用其地圖數據,以及你是否也在使用Google Maps提供的路由數據。P138「Google地圖API密鑰」一節介紹過註冊應用及獲取API密鑰的過程。

注意:記住,要使用MapView,程序必須是註冊過的。為了構建MicroJobs應用,你需要獲取密鑰,具體方法可以參考P138「Google地圖API密鑰」一節中的說明。