因此,我正在爲我的學校的一個項目與一個小組一起工作,我們正在考慮實施一種方法來獲得教師和工作人員名單,並有一個選項「映射它們「或他們的辦公室在Android上的校園地圖上。我們有地圖工作與itemizedOverlays目前和放大和縮小功能。傳遞數據到地圖類在android
我的問題是,當有人使用這個android應用程序選擇一個教職員工時,我如何將他們的信息(這將只是他們的名字)傳遞給我們的地圖類並將其與itemizedOverlays一起使用?
我們將經過老師的名字從人的課,地圖類。
因此,我正在爲我的學校的一個項目與一個小組一起工作,我們正在考慮實施一種方法來獲得教師和工作人員名單,並有一個選項「映射它們「或他們的辦公室在Android上的校園地圖上。我們有地圖工作與itemizedOverlays目前和放大和縮小功能。傳遞數據到地圖類在android
我的問題是,當有人使用這個android應用程序選擇一個教職員工時,我如何將他們的信息(這將只是他們的名字)傳遞給我們的地圖類並將其與itemizedOverlays一起使用?
我們將經過老師的名字從人的課,地圖類。
您還可以使用意向的額外參數如下所述:
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());
非常感謝! Im Goona嘗試並將其提及給我們的團隊!我喜歡stackoverflow! – cj1098 2011-04-23 22:39:26
對不起,我不明白你的意思。如果你想要在tap事件上顯示一個特定的警報,你可以擴展OverlayItem爲了讓它有一個額外的參數與你的「Person ID」或其他東西。然後在覆蓋層的onTap方法中,獲取與該ID相對應的Person(當然是在投射對象之後)。並相應地顯示警報。
如果您想根據先前選擇的元素顯示疊加層(或疊加層項目集),則也是如此。這應該相當簡單,通過傳遞一個參數到CampusMap的構造函數或者(一個醜陋的方法,但更快的方法)將選擇的項存儲在一個靜態類中並從Map中訪問它。
那麼我們將在校園中列出教職員工姓名和名字。你可以點擊它們,然後它會顯示有關它們的某些信息。它也將有4個按鈕選項。其中之一被稱爲「地圖」,它將顯示教師辦公室在校園內的位置。 我的問題是如何將該教師信息傳遞給我想要的OnTap方法。由於該信息與地圖類別不同, – cj1098 2011-04-22 07:12:18
我明白了。只需將完整的課程或GPS經緯度傳遞給地圖即可。併爲此經緯度添加一個額外的覆蓋項目。您甚至可以爲您的MapView類創建一個新的構造函數,該類可以接收Teacher類(在他/她的辦公室位置)並相應地打印它。 – 2011-04-22 19:17:26
您還可以使用意向的額外參數如下所述: 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
你應該接受一個答案來增加你的聲望,或者至少感謝回答你問題的人的努力。 – Varundroid 2011-05-17 03:16:05