Несколько кластеров и пользовательских информационных окон? - PullRequest
0 голосов
/ 19 мая 2019

Прежде всего, извините за дерьмовый заголовок.

Моя проблема в основном такова: в моем приложении Google Maps есть два типа маркеров.У них есть уникальные значки и информационные окна.Вы можете переключаться между ними с помощью кнопки на карте.Когда я настраивал информационное окно для одного из них, я понял, что не смогу скопировать его для другого менеджера кластера.

Мой класс в настоящее время выглядит следующим образом:

public class MapActivity extends FragmentActivity implements
    OnMapReadyCallback,
    ClusterManager.OnClusterItemClickListener<Shelter>

Затем я использую это для настройки:

shelterClusterManager.getMarkerCollection().setOnInfoWindowAdapter(new GoogleMap.InfoWindowAdapter()
    {
        @Override
        public View getInfoWindow(Marker marker)
        {
            LayoutInflater inflater = (LayoutInflater) getSystemService(Context.LAYOUT_INFLATER_SERVICE);

            final View view = inflater.inflate(R.layout.custom_info_window_shelter, null);

            TextView address = view.findViewById(R.id.info_window_address);
            TextView occupants = view.findViewById(R.id.info_window_occupants);
            TextView latitude = view.findViewById(R.id.info_window_latitude);
            TextView longitude = view.findViewById(R.id.info_window_longitude);

            address.append(clickedShelter.getTitle());
            occupants.append(clickedShelter.getSnippet());
            latitude.append("" + clickedShelter.getLatitude());
            longitude.append("" + clickedShelter.getLongitude());


            return view;
        }

        @Override
        public View getInfoContents(Marker marker)
        {
            return null;
        }
    });

У меня также есть этот метод, чтобы получить ссылку наобъект (clusteritem), который был выбран:

 @Override
public boolean onClusterItemClick(Shelter shelter)
{
    clickedShelter = shelter;
    return false;
}

По сути, сейчас все относится к классу Shelter.Теоретически мне нужно будет продублировать все это и для моего другого класса ClusterItem, но это не работает.

Буду очень признателен за помощь!Если я должен предоставить больше кода, пожалуйста, дайте мне знать.

GIF того, что я пытаюсь сделать: https://gfycat.com/glumpastgazelle

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...