【发布时间】:2014-04-17 08:52:31
【问题描述】:
我正在使用数组列表来使用 for 循环显示不同的组织位置(标记)。
private void addMarkers() {
if (googleMap != null) {
// getting intent data
Intent in = getIntent();
ArrayList<HashMap<String, String>> organizationList = (ArrayList<HashMap<String, String>>)in.getSerializableExtra("organization");
for(int i = 0; i < organizationList.size(); i++) {
name = organizationList.get(i).get(TAG_NAME);
latitude = organizationList.get(i).get(TAG_LATITUDE);
longitude = organizationList.get(i).get(TAG_LONGITUDE);
lat = Double.parseDouble(latitude);
longi = Double.parseDouble(longitude);
googleMap.addMarker(new MarkerOptions().position(new LatLng(lat,longi)).title(name).visible(true));
}
这是在点击标记时执行操作的以下代码
@Override
public boolean onMarkerClick(Marker marker) {
Log.i("GoogleMapActivity", "onMarkerClick");
Toast.makeText(getApplicationContext(),marker.getTitle(), Toast.LENGTH_LONG).show();
Intent in = new Intent(getApplicationContext(),SingleContactActivity.class);
in.putExtra(TAG_NAME, name);
in.putExtra(TAG_LATITUDE, latitude);
in.putExtra(TAG_LONGITUDE, longitude);
startActivity(in);
return false;}
我知道 putExtra 给出了 for 循环的最后一个值.....请帮我发送点击另一个类的标记的确切值
【问题讨论】:
-
你到底想要什么?我不明白。使用更多信息编辑您的问题
-
在 onMarkerClick 中,再次循环您的 organizationList 并检查标记 Title = 组织名称,那么您拥有正确的组织,您可以将其放入意图中。
-
谢谢 Francesco verheye
标签: android google-maps android-intent arraylist marker