Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/198.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 在android中将数据传递给maps类_Java_Android_Maps - Fatal编程技术网

Java 在android中将数据传递给maps类

Java 在android中将数据传递给maps类,java,android,maps,Java,Android,Maps,因此,我正在与一个小组为我的学校进行一个项目,我们正在考虑实施一种方法,以获得一份教员和员工名单,并可以选择在android上的校园地图上“映射他们”或他们的办公室。我们的地图目前正在使用ItemizeOverlays和放大缩小功能 我的问题是,当使用这个android应用程序的人选择了一名教职员工时,我如何将他们的信息(只是他们的名字)传递给我们的地图课程,并将其与ItemizeOverlays一起使用 代码如下: 我们将把老师的名字从person班传给maps班。对不起,我不明白你的意思。

因此,我正在与一个小组为我的学校进行一个项目,我们正在考虑实施一种方法,以获得一份教员和员工名单,并可以选择在android上的校园地图上“映射他们”或他们的办公室。我们的地图目前正在使用ItemizeOverlays和放大缩小功能

我的问题是,当使用这个android应用程序的人选择了一名教职员工时,我如何将他们的信息(只是他们的名字)传递给我们的地图课程,并将其与ItemizeOverlays一起使用

代码如下:


我们将把老师的名字从person班传给maps班。

对不起,我不明白你的意思。如果希望在点击事件上显示特定警报,可以扩展OverlayItem,使其具有带有“Person ID”或其他内容的额外参数。然后在覆盖中的onTap方法上,获取与该ID对应的人(当然,在投射对象之后)。并相应地显示警报


如果要根据先前选择的元素显示覆盖(或一组覆盖项),也会出现同样的情况。通过将参数传递给CampusMap构造函数或(一种丑陋但更快的方法)将所选项存储在静态类中并从映射访问它,这应该相当简单。

您也可以使用此处描述的意图额外参数:

点击后,您可以如下方式启动地图意图(“i”是您的地图意图,“t”是您的教师对象):


好的,我们将有一份校园教职员工的名单,上面写着他们的名字和姓氏。您可以单击它们,然后它将显示有关它们的某些信息。它还将有4个按钮选项。其中一个叫做“地图”,它将显示教师办公室在校园的位置。我的问题是如何将教师信息传递给我认为的OnTap方法。因为这个信息和map类不同,我知道了。只需将完整的课程或GPS lat long传递到地图。并为这个lat-long添加一个额外的覆盖项。您甚至可以为您的MapView类创建一个新的构造函数,该构造函数接收教师类(以及他/她的办公室位置),并相应地打印它。您还可以使用此处描述的Intent额外参数:`private long lat,lng;/。。onCreate lat=getIntent().getLongExtra(“lat”);lng=getIntent().getLongExtra(“lon”);/。。。地质点办公室=新地质点(lat、lng);OverlayItem oi=新的OverlayItem(办公室,“,”);itemizedOverlay.addOverlay(oi);/。。等等点击后,您可以像这样启动地图意图(“i”是您的地图意图,“t”是您的教师对象):`i.putExtra(“lat”,t.getPos().getLat());i、 putExtra(“lng”,t.getPos().getLng())`非常感谢你!我会尝试一下,并向我们的团队提及!我爱你!你应该接受一个答案来提高你的声誉,或者至少感谢回答你问题的人的努力。
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.putExtra("lat", t.getPos().getLat());
i.putExtra("lng", t.getPos().getLng());