Hello,Views(二)GoogleMap地圖使用上篇(附源碼)

來源:互聯網
上載者:User
前言

  本文是官方教程的中文翻譯,講的是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.運行程式

 源碼下載

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.