我建议使用HashMap或类似的东西.当您遍历对象列表并为它们创建标记时,还要将标记添加到列表中,使用对象的ID作为键,将标记作为值:
private HashMap markerMap = new HashMap();
…
for(MarkerObject obj : this.markerObjects)
{
//If the marker isn't already being displayed
if(!markerMap.containsKey(obj.getId()))
{
//Add the Marker to the Map and keep track of it
this.markerMap.put(obj.getId(),this.mMap.addMarker(getMarkerForObject(obj)));
}
}
然后,您可以使用OnInfoWindowClickListener在Map中查找点击标记的对象ID,并使用相应的数据执行某些操作,例如打开包含详细信息的新活动.