我的地图上有标记,我使用HashMap存储数字的额外数据。我使用标记作为键,值使用数字。一个例子如下:
HashMap<Marker, String> hash = new HashMap<Marker, String>();
Marker marker1 = googleMap.addMarker(new MarkerOptions().position(
new LatLng(randomLocation1[0], randomLocation1[1]))
.title("Waiyaki")
.icon(BitmapDescriptorFactory
.defaultMarker(BitmapDescriptorFactory.HUE_GREEN)
));
hash.put(marker1,"24354345");
Marker marker2 = googleMap.addMarker(new MarkerOptions().position(
new LatLng(randomLocation2[0], randomLocation2[1]))
.title("Parklands")
.icon(BitmapDescriptorFactory
.defaultMarker(BitmapDescriptorFactory.HUE_GREEN)
));
hash.put(marker2,"34354353");
我希望当用户点击特定标记的infowindow时,该标记的entrySet中的值将被发送到新活动。我所做的示例代码如下:
googleMap.setOnInfoWindowClickListener(new OnInfoWindowClickListener(){
@Override
public void onInfoWindowClick(Marker arg0)
for (Entry<Marker, String> entry : hash.entrySet()) {
String value = entry.getValue();
Intent I = new Intent(MainActivity.this, NewActivity.class);
I.putExtra(value, isFinishing());
startActivity(I);
}
}
});
上面的代码有问题,但我不知道究竟是什么。请帮助...以及关于如何将值发送到新活动的示例代码。
答案 0 :(得分:0)
要发送与标记关联的数字,请替换代码
I.putExtra(value, isFinishing());
与
I.putExtra("markerNumber", value);
在MainActivity中使用以下代码获取值:
String markerNumber = getIntent().getExtras().getString("markerNumber");