前言
本文是官方教程的中文翻譯,講的是Google地圖的使用。由於篇幅太長,分為上下篇。(源碼下載)
第一部分:建立一個Map Activity
1.建立一個工程,命名為HelloGoogleMaps,注意此時選擇AVD是必須是Google ApIs [Android x.x.x],也就是支援googleMap的sdk,那麼產生的工程中會有有圖紅色部分。
2.由於Maps庫本身並不是標準的Android庫,你必須在Android資訊清單檔中聲明。具體操作是,開啟AndroidManifest.xml檔案,然後把下面的聲明作為<application> 元素的子標籤:
<uses-library android:name="com.google.android.maps" />
3.你還需要接入Internet來顯示地圖資訊,所以必須有INTERNET許可權,同樣在資訊清單檔把下面的聲明作為<manifest>元素的子標籤: :
<uses-permission android:name="android.permission.INTERNET" />
4.接下來為應用設定無標題主題,即全屏,以增加地圖顯示的面積:
<activity android:name=".HelloGoogleMaps" android:label="@string/app_name" android:theme="@android:style/Theme.NoTitleBar">
5.開啟res/layout/main.xml 檔案,在裡面填寫如下代碼,簡單起見,我們把com.google.android.maps.MapView直接作為根節點,無需任何布局:
<?xml version="1.0" encoding="utf-8"?>
<com.google.android.maps.MapView
xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/mapview"
android:layout_width="fill_parent" android:layout_height="fill_parent"
android:clickable="true"
android:apiKey="Your Maps API Key goes here" />
其中的 android:clickable屬性定義了當你觸摸地圖時,是否響應。如果它的值設為false,那麼地圖將不會對你的觸摸有任何響應。
android:apiKey屬性存放你的應用Maps API Key,如果過你不知道什麼是Maps API Key,那麼google一下,這不是本文的重點。
6.現在開啟HelloGoogleMaps.java 檔案,在這個Activity活動中,我們讓它擴充 MapActivity 介面。
public class HelloGoogleMaps extends MapActivity {
MapActivity 是Activity的子類,提供了Maps庫,用於支援地圖功能。
7.在每個 MapActivity, 必須重寫isRouteDisplayed()方法:
@Override
protected boolean isRouteDisplayed()
{
return false;
}
這個方法對於Maps service是必須的,可以為它們提供資訊,目前使用者是否在顯示路徑資訊,但是在這個應用中我們用不到,所以返回false就可以了。
8.現在添加標準的onCreate()回調方法:
@Override
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
}
現在已經可以顯示地圖了,但是還缺少縮小放大的功能按鈕,幸好MapView提供一個簡單的縮放功能,你可以通過 setBuiltInZoomControls(boolean).來設定,在onCreate()方法內的最後寫入下面的代碼:
MapView mapView = (MapView) findViewById(R.id.mapview);
mapView.setBuiltInZoomControls(true);
9.運行程式
源碼下載