Обновление пользовательского Infowindow Google Maps

У меня есть пользовательское информационное окно с кнопкой избранного, при нажатии которой я хочу, чтобы кнопка отображала другое изображение избранного, указывающее пользователю, что путевая точка теперь находится в избранном пользователя. Я не знаю, как обновить информационное окно, везде, где я смотрю в Интернете, говорят, что используют marker.showInfoWindow(); однако это не работает при запуске приложения на моем телефоне, а в документации к Google Maps написано:

Примечание об обновлении информационного окна. Событие onInfoWindowClose() срабатывает, если пользователь обновляет информационное окно, касаясь маркера, который уже имеет открытое информационное окно. Но если вы программно вызываете Marker.showInfoWindow() в открытом информационном окне, событие onInfoWindowClose() не срабатывает. Последнее поведение основано на предположении, что вы знаете, что информационное окно закроется и снова откроется.

Я вижу, что другие приложения имеют контент, который обновляется в их приложениях, поэтому я знаю, что это возможно, я просто не знаю, какую работу они обходят, чтобы обойти это. У кого-нибудь есть способ обойти это? И я очень новичок во всем этом, поэтому, пожалуйста, придумайте свой ответ. Заранее спасибо за ваши усилия.

1 ответ

Когда вы нажимаете на маркер, передайте этот маркерный объект вашему любимому методу веб-сервиса, и когда вы получите успех от ответа веб-сервиса, просто напишите следующие строки кода:

if (marker != null && marker.isInfoWindowShown()) {
                                marker.hideInfoWindow();
                                marker.showInfoWindow();
                            }
Другие вопросы по тегам