Android setOnMarkerClickListener устанавливает заголовок для каждого маркера

Я реализовал кластер-кластер в своем приложении, у меня есть список LatLng, который поступает из моей базы данных, теперь я хочу показать имя клиентов как заголовок, когда пользователь нажимает на маркер, но когда я нажимаю на маркер, Ничего не показывает, как я могу это достичь, это мой код:

public class MapaViagem extends FragmentActivity { private GoogleMap googleMap; private String rm_IdViagem; private List<ClienteModel> mClienteModel = new ArrayList<ClienteModel>(); private List<EnderecoModel> mEnderecoModel = new ArrayList<EnderecoModel>(); private ViagemModel mViagemModel = new ViagemModel(); private ClusterManager<MyItem> mClusterManager; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.maps); ArrayList<LatLng> coordList = new ArrayList<LatLng>(); try { Bundle parametros = getIntent().getExtras(); rm_IdViagem = parametros.getString("id_viagem"); Repositorio ca = new Repositorio(this); mViagemModel = ca.getViagemPorId(Integer.valueOf(rm_IdViagem)); Repositorio cl = new Repositorio(this); mClienteModel = cl.getClientesViagem(Integer.valueOf(rm_IdViagem)); int i; for ( i = 0; i < mClienteModel.size(); i++) { Repositorio mRepositorio = new Repositorio(this); mEnderecoModel = mRepositorio.getListaEnderecosDoCliente(Integer.valueOf(mClienteModel.get(i).getClientes_id())); System.out.println("NOMES " + mClienteModel.get(i).getNome()); for (int j = 0; j < mEnderecoModel.size(); j++) { // Loading map initilizeMap(); // Changing map type googleMap.setMapType(GoogleMap.MAP_TYPE_NORMAL); // googleMap.setMapType(GoogleMap.MAP_TYPE_HYBRID); // googleMap.setMapType(GoogleMap.MAP_TYPE_SATELLITE); // googleMap.setMapType(GoogleMap.MAP_TYPE_TERRAIN); // googleMap.setMapType(GoogleMap.MAP_TYPE_NONE); // Showing / hiding your current location googleMap.setMyLocationEnabled(true); // Enable / Disable zooming controls googleMap.getUiSettings().setZoomControlsEnabled(true); // Enable / Disable my location button googleMap.getUiSettings().setMyLocationButtonEnabled(true); // Enable / Disable Compass icon googleMap.getUiSettings().setCompassEnabled(true); // Enable / Disable Rotate gesture googleMap.getUiSettings().setRotateGesturesEnabled(true); // Enable / Disable zooming functionality googleMap.getUiSettings().setZoomGesturesEnabled(true); final float latitude = Float.parseFloat(mEnderecoModel.get(j).getLatitude()); final float longitude = Float.parseFloat(mEnderecoModel.get(j).getLongitude()); coordList.add(new LatLng(latitude, longitude)); googleMap.moveCamera(CameraUpdateFactory.newLatLngZoom(new LatLng(latitude, longitude), 10)); // Initialize the manager with the context and the map. // (Activity extends context, so we can pass 'this' in the constructor.) mClusterManager = new ClusterManager<MyItem>(this, googleMap); // Point the map's listeners at the listeners implemented by the cluster // manager. googleMap.setOnCameraChangeListener(mClusterManager); googleMap.setOnMarkerClickListener(mClusterManager); addItems(coordList); googleMap.setOnMarkerClickListener(new GoogleMap.OnMarkerClickListener() { @Override public boolean onMarkerClick(final Marker marker) { LatLng pos = marker.getPosition(); int arryListPosition = getArrayListPosition(pos); return true; } }); } } } catch (Exception e) { e.printStackTrace(); } } private int getArrayListPosition(LatLng pos) { for (int i = 0; i < mEnderecoModel.size(); i++) { if (pos.latitude == Double.parseDouble(mEnderecoModel.get(i).getLatitude().split(",")[0])) { if (pos.longitude == Double.parseDouble(mEnderecoModel.get(i).getLongitude().split(",")[1])) return i; } } return 0; } private void addItems(List<LatLng> markers) { for (int i = 0; i < markers.size(); i++) { MyItem offsetItem = new MyItem(markers.get(i)); mClusterManager.addItem(offsetItem); } } private void initilizeMap() { if (googleMap == null) { googleMap = ((MapFragment) getFragmentManager().findFragmentById( R.id.map)).getMap(); // check if map is created successfully or not if (googleMap == null) { Toast.makeText(getApplicationContext(), "Não foi possível carregar o mapa", Toast.LENGTH_SHORT) .show(); } } } @Override protected void onResume() { super.onResume(); initilizeMap(); } } 

Не знаете, как вы инициализируете свои Markers потому что вы не показываете, что часть кода, но помещаете заголовок на это, делается следующим образом:

 //You need a reference to a GoogleMap object GoogleMap map = ... // get a map. Marker marker = map.addMarker(new MarkerOptions() .position(new LatLng(37.7750, 122.4183)) //Or whatever coordinate .title("Your title") .snippet("Extra info")); 

И все, когда вы нажмете на нее, вы увидите информацию об этом маркере.

Вы можете найти более подробную информацию здесь

РЕДАКТИРОВАТЬ

Для ClusterManager я думаю, что вы можете найти этот ответ полезным