Я использую com.google.maps.android:maps-compose:4.3.3, чтобы показать карту с маркерами. Их не так много, поэтому кластеризацию не использую. У меня есть mutableStateList маркеров, который извлекает данные, видимые в текущем окне просмотра, из локальной базы данных Room. Я использую MarkerInfoWindow для отображения пользовательского составного информационного окна при щелчке маркера, а также я не использую пользовательский прослушиватель кликов, поэтому он переключается на логику информационного окна по умолчанию.
Проблема в том, что я нажимаю на маркере отображается информационное окно, маркер находится в центре, все хорошо, но после обновления списка маркеров информационное окно (очень часто) переходит на случайный маркер на экране, однако мой первоначально выбранный маркер все еще находится в списке.
Я попробовал установить тег и фрагмент для MarkerInfoWindow, предполагая, что это поможет однозначно идентифицировать маркер в списке, но это не помогло. Ожидаемый результат: после отображения информационного окна, даже если список маркеров обновится и выбранный маркер все еще находится в списке, информационное окно останется там, где оно было первоначально показано.
Подробнее здесь: https://stackoverflow.com/questions/782 ... refresh-in