因此,我正在为我的学校的一个项目与一个小组一起工作,我们正在考虑实施一种方法来获得教师和工作人员名单,并有一个选项“映射它们“或他们的办公室在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