2011-04-22 24 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