Jak sprawdzić, czy okno informacyjne Google Maps jest nadal wyświetlane przed aktualizacją?

Zacząłem pracować nad InfoWindowAdapter, który wyświetla obrazy lokalizacji wewnątrz InfoWindow. Mam wiele różnych lokalizacji, dlatego możliwe jest, że obraz lokalizacji nie jest dostępny w telefonie i jest pobierany z Internetu.

Teraz interfejs API Map Google zawiera następujące informacje:

Zauważ, że migawka zwróconego widoku zostanie pobrana, a następnie wyświetlona na mapie, więc kolejne zmiany widoku nie zostaną odzwierciedlone przez okno informacyjne na mapie. Aby zaktualizować okno informacyjne (np. Po załadowaniu obrazu), wystarczy wywołać showInfoWindow (), a widok zostanie zaktualizowany.

Jak rozumiem, muszę śledzić znacznik, który utworzył okno informacyjne, które chcę zaktualizować, i wywołać showInfoWindow po załadowaniu obrazu. Mam ImageDownloadService, który zajmie Handler, który jest powiadamiany o zakończeniu ładowania obrazu.

Jeśli obraz trwa trochę dłużej, możliwe jest, że użytkownik otworzył inne InfoWindow lub zamknął przewijane okno. Problem polega na tym, że w tym czasie ponownie wywołam showInfoWindow na znaczniku, aby zaktualizować widok. Nie mogę być pewien, czy okno InfoWindow jest nadal wyświetlane.

Czy istnieje sposób na aktualizację InfoWindow tylko wtedy, gdy jest nadal wyświetlany?

questionAnswers(2)

yourAnswerToTheQuestion