談Android中GoogleMap的使用(二)

2021-09-30 08:30:20 字數 3342 閱讀 8037

先看看**(囿於篇幅,匯入的包省略)

public class showtrack extends mapactivity

protected boolean isroutedisplayed()

private void findviews()

});// 設定放大按鈕

mzout = (button) findviewbyid(r.id.zout);

mzout.setonclicklistener(new onclicklistener()

});// 設定向北移動按鈕

mpann = (button) findviewbyid(r.id.pann);

mpann.setonclicklistener(new onclicklistener()

});// 設定向東移動按鈕

mpane = (button) findviewbyid(r.id.pane);

mpane.setonclicklistener(new onclicklistener()

});// 設定向西移動按鈕

mpanw = (button) findviewbyid(r.id.panw);

mpanw.setonclicklistener(new onclicklistener()

});// 設定向南移動按鈕

mpans = (button) findviewbyid(r.id.pans);

mpans.setonclicklistener(new onclicklistener()

});// 設定gps檢視按鈕

mgps = (button) findviewbyid(r.id.gps);

mgps.setonclicklistener(new onclicklistener()

});// 設定衛星模式檢視按鈕

msat = (button) findviewbyid(r.id.sat);

msat.setonclicklistener(new onclicklistener()

});// 設定交通模式檢視按鈕

mtraffic = (button) findviewbyid(r.id.traffic);

mtraffic.setonclicklistener(new onclicklistener()

});// 設定街景模式檢視按鈕

mstreetview = (button) findviewbyid(r.id.streetview);

mstreetview.setonclicklistener(new onclicklistener()

});// 使用位置管理器獲取gps位置變化資訊

lm = (locationmanager) getsystemservice(context.location_service);

locationlistener = new mylocationlistener();

lm.requestlocationupdates(locationmanager.gps_provider, 0, 0,

locationlistener);

}public void panwest()

public void paneast()

public void pannorth()

public void pansouth()

public void zoomin()

public void zoomout()

public void togglesatellite()

public void toggletraffic()

public void togglestreetview()

@override

protected void onstop()

@override

public void ondestroy()

}上面的**實現的功能是顯示谷歌地圖,並可以切換不同的地圖模式,以及對地圖進行平移放大縮小等操作。

我們來詳細分析一下**,首先在findviews()中需要注意:

mmapview = (mapview) findviewbyid(r.id.mv);

mc = mmapview.getcontroller();

這兩句**。第一句是將mmapview這個變數例項化,也就是將地圖例項化。關於r.id.mv的內容,我們將在後面看到。再加上第二句便可開始對地圖操作了。

緊接著的mc.setzoom(10)是設定了地圖的等級。所謂地圖等級可以理解成地圖的放大倍數,google map有1到15個等級,等級越大放大倍數越高。這裡我們預設放大等級為10。

下面我們來看panwest()這個方法。這個方法是讓地圖向西平移。在這個方法中定義了乙個geopoint型別的變數pt,geopoint是一組儲存經緯度的整數對。它的構造方法中需要傳遞兩個引數,分別是偉度和經度。mmapview.getmapcenter().getlatitudee6()的意思就是火氣地圖中心點的緯度。那麼這個函式整體的意思就是取地圖中心點正西方的一點然後將其設定為地圖中心,這樣就實現了地圖的向西移動。

zoomin()和zoomout()就不必我多說了,顧名思義,縮小和放大地圖的函式。

而togglesatellite(), toggletraffic(),togglestreetview()則是分別將地圖模式顯示為衛星模式、交通模式和街景模式。預設的地圖顯示模式是gps模式。

下面看看布局檔案

<?xml version="1.0" encoding="utf-8"?>

"android:layout_width="fill_parent"

android:layout_height="fill_parent"

>

"android:orientation="horizontal"

android:layout_width="fill_parent"

android:layout_height="wrap_content"

android:background="#550000ff"

android:padding="1px"

>

"android:orientation="vertical"

android:layout_width="wrap_content"

android:layout_height="fill_parent"

android:background="#550000ff"

android:padding="1px"

>

布局檔案中只需要提一點,就是上面說到的mv,每台機器的apikey都不同,這點尤其需要注意。否則在模擬器上除錯出來的效果就是一些網格。

Google排名經驗談

針對與google排名,關鍵是內容好。當然內容好,能不能讓google知道,那就是技巧方面的問題了。根據許多經驗,在這裡與各位朋友分享一下幾個要點 a 標題標籤 標題及網頁 中 與 之間的字元。針對於標題,我是這樣設計的 注 標題設計最好不好超過40個字元,也就是20個漢字。b 內容標籤 注 經過試...

Google排名經驗談

針對與google排名,關鍵是內容好。當然內容好,能不能讓google知道,那就是技巧方面的問題了。根據許多經驗,在這裡與各位朋友分享一下幾個要點 a 標題標籤 標題及網頁 中 與 之間的字元。針對於標題,我是這樣設計的 注 標題設計最好不好超過40個字元,也就是20個漢字。b 內容標籤 注 經過試...

談Android中Activity的生命週期

activity的生命週期簡介 1 activity有三種狀態 2 操縱生命週期的七種方法 方法 描述是否可被殺死 下乙個操作 oncreate 初始化,建立views,繫結list的資料等等 否onstart onrestart 在activity被停止後呼叫 否onstart onstart 在...