2011-04-22 44 views
0

因此,我正在爲我的學校的一個項目與一個小組一起工作,我們正在考慮實施一種方法來獲得教師和工作人員名單,並有一個選項「映射它們「或他們的辦公室在Android上的校園地圖上。我們有地圖工作與itemizedOverlays目前和放大和縮小功能。傳遞數據到地圖類在android

我的問題是,當有人使用這個android應用程序選擇一個教職員工時,我如何將他們的信息(這將只是他們的名字)傳遞給我們的地圖類並將其與itemizedOverlays一起使用?

代碼是在這裏: http://code.google.com/a/eclipselabs.org/p/mtsu-andriod/source/browse/trunk/%20mtsu-andriod%20--username%20craigmurphy88%40gmail.com/MTSU%20Android/src/com/MTSUAndroid/CampusMap.java

我們將經過老師的名字從人的課,地圖類。

+0

你應該接受一個答案來增加你的聲望,或者至少感謝回答你問題的人的努力。 – Varundroid 2011-05-17 03:16:05

回答

1

您還可以使用意向的額外參數如下所述:

http://developer.android.com/reference/android/content/Intent.html

private long lat, lng; 
//.. onCreate 
    lat = getIntent().getLongExtra("lat"); 
    lng = getIntent().getLongExtra("lon"); 

//... 
GeoPoint office = new GeoPoint(lat, lng); 
OverlayItem oi = new OverlayItem(office, "", ""); 
itemizedOverlay.addOverlay(oi); 
//.. and so on. 

水龍頭,就可以啓動你的地圖意圖是這樣的(「i」是你的地圖意圖和' t'你的老師對象):

i.putExtra("lat", t.getPos().getLat()); 
i.putExtra("lng", t.getPos().getLng()); 
+1

非常感謝! Im Goona嘗試並將其提及給我們的團隊!我喜歡stackoverflow! – cj1098 2011-04-23 22:39:26

1

對不起,我不明白你的意思。如果你想要在tap事件上顯示一個特定的警報,你可以擴展OverlayItem爲了讓它有一個額外的參數與你的「Person ID」或其他東西。然後在覆蓋層的onTap方法中,獲取與該ID相對應的Person(當然是在投射對象之後)。並相應地顯示警報。

如果您想根據先前選擇的元素顯示疊加層(或疊加層項目集),則也是如此。這應該相當簡單,通過傳遞一個參數到CampusMap的構造函數或者(一個醜陋的方法,但更快的方法)將選擇的項存儲在一個靜態類中並從Map中訪問它。

+0

那麼我們將在校園中列出教職員工姓名和名字。你可以點擊它們,然後它會顯示有關它們的某些信息。它也將有4個按鈕選項。其中之一被稱爲「地圖」,它將顯示教師辦公室在校園內的位置。 我的問題是如何將該教師信息傳遞給我想要的OnTap方法。由於該信息與地圖類別不同, – cj1098 2011-04-22 07:12:18

+0

我明白了。只需將完整的課程或GPS經緯度傳遞給地圖即可。併爲此經緯度添加一個額外的覆蓋項目。您甚至可以爲您的MapView類創建一個新的構造函數,該類可以接收Teacher類(在他/她的辦公室位置)並相應地打印它。 – 2011-04-22 19:17:26

+0

您還可以使用意向的額外參數如下所述: http://developer.android.com/reference/android/content/Intent.html ' 私人長期緯度,經度; // .. onCreate lat = getIntent()。getLongExtra(「lat」); lng = getIntent()。getLongExtra(「lon」); // ... GeoPoint office = new GeoPoint(lat,lng); OverlayItem oi = new OverlayItem(office,「」,「」); itemizedOverlay.addOverlay(oi); itemizedOverlay.addOverlay(oi); // ..等等。 ' 水龍頭,就可以啓動你的地圖意圖是這樣的( 'i' 是你的地圖意圖和 'T' 的教師目標): ' i.putExtra( 「LAT」,t.getPos() .getLat()); i.putExtra(「lng」,t.getPos()。getLng()); ' – 2011-04-22 19:24:37