Александр Горбач


программирование, админство

Как победить черный экран в Google Maps

без комментариев

При внедрении в свое приложение GoogleMaps API v2 столкнулся со странным поведением: если отобразить карту, затем свернуть приложение и после того как приложение опять активировать, то вместо карты мы наблюдаем черный экран. Причем этот глюк наблюдается не на всех платформах. К примеру,на Nexus 5 и Nexus 4 с android 4.4.2 я его не наблюдал, а на телефоне LG с андроидом 4.1 на борту проблема проявилась.

После активного поиска выяснилось, что проблема гуглу известна, это не результат моих кривых ручек, и исправление есть на свежих версиях андроида. Однако, не у всех же нексусы ) Нужно искать решение. По поведению можно предположить, что проблема кроется в том, что не приходит событие на обновление окна отображения карты. Посылать самостоятельно это событие не стоит, на новых же прошивках все нормально. После продолжительных поисков был найден оптимальный костыль: расположить поверх виджета карты любой прозрачный слой, и все становится нормально. Пример кода:

            <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
                android:layout_width="match_parent"
                android:layout_height="match_parent">
                <com.google.android.gms.maps.MapView
                    android:layout_width="match_parent"
                    android:layout_height="match_parent"
                    android:enabled="true"
                    android:clickable="true"
                    android:id="@+id/map"

                    />
                    <View
                        android:layout_width="match_parent"
                        android:layout_height="match_parent"
                        android:background="@android:color/transparent" />
            </RelativeLayout>

Автор Sash(k)a

Май 22nd, 2014 at 10:59 дп

Опубликовано в Без рубрики

Тэги ,

Оставьте комментарий

Яндекс.Метрика