Обновление пользовательского Infowindow Google Maps
У меня есть пользовательское информационное окно с кнопкой избранного, при нажатии которой я хочу, чтобы кнопка отображала другое изображение избранного, указывающее пользователю, что путевая точка теперь находится в избранном пользователя. Я не знаю, как обновить информационное окно, везде, где я смотрю в Интернете, говорят, что используют marker.showInfoWindow(); однако это не работает при запуске приложения на моем телефоне, а в документации к Google Maps написано:
Примечание об обновлении информационного окна. Событие onInfoWindowClose() срабатывает, если пользователь обновляет информационное окно, касаясь маркера, который уже имеет открытое информационное окно. Но если вы программно вызываете Marker.showInfoWindow() в открытом информационном окне, событие onInfoWindowClose() не срабатывает. Последнее поведение основано на предположении, что вы знаете, что информационное окно закроется и снова откроется.
Я вижу, что другие приложения имеют контент, который обновляется в их приложениях, поэтому я знаю, что это возможно, я просто не знаю, какую работу они обходят, чтобы обойти это. У кого-нибудь есть способ обойти это? И я очень новичок во всем этом, поэтому, пожалуйста, придумайте свой ответ. Заранее спасибо за ваши усилия.
1 ответ
Когда вы нажимаете на маркер, передайте этот маркерный объект вашему любимому методу веб-сервиса, и когда вы получите успех от ответа веб-сервиса, просто напишите следующие строки кода:
if (marker != null && marker.isInfoWindowShown()) {
marker.hideInfoWindow();
marker.showInfoWindow();
}