Android mapview частично загружает плитки - PullRequest
1 голос
/ 21 июля 2011

Я создал приложение для Android, у которого есть одно отображение карты.

У меня ошибка, из-за которой в окне карты иногда отсутствовали плитки. Вид карты не является полностью пустым, отображаются некоторые плитки, но не все. Все ответы здесь относятся к API-ключам или проблемам с наличием нескольких карт в одном приложении. Это не проблема.

Это происходит периодически, примерно один из каждых пяти раз, когда я запускаю приложение после очистки всех данных из приложения. Так что это типично для новых установок.

Это происходит только на устройствах Android 2.2 (определенно Samsung Galaxy S)

Обратите внимание на логи показывают:

07-21 17:11:52.274: INFO/MapActivity(25951): Handling network change notification:CONNECTED
07-21 17:26:25.629: ERROR/MapActivity(26064): Couldn't get connection factory client

Когда плитки не загружаются, увеличение или уменьшение масштаба или перезапуск не обновляют плитки. Единственное решение - перейти в «Настройки» -> «Управление приложениями» -> [выбрать приложение] -> очистить данные и перезапустить приложение.

Кто-нибудь видел это раньше и знает причину или обходной путь?

Приветствие.

Ответы [ 3 ]

2 голосов
/ 05 августа 2011

Предложение

public class yourCustomMapView extends MapView{
    public abstract void invalidateDrawable (Drawable who){
        super.invalidateDrawable(who);
        //try to catch the error here:
        //My Guess is the following:
        if(who.getTransparentRegion!=null){
            //DO SOMETHING
            //You would delete the cache and reload
            //Try Reloading the image only
        }
    }
}

Удаление кэша программно

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

2 голосов
/ 03 августа 2011

Я могу догадаться, что вы можете видеть частичные плитки, поэтому может быть ваша проблема с интернет-соединением. Проверьте ваше интернет-соединение, отображается ли значок 3G в эмуляторе, если вы пытаетесь запустить свое приложение в эмуляторе, иначе проверьте устройство.

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

0 голосов
/ 14 марта 2013

Это может произойти, если сетевое соединение не правильно.Я имею в виду, если есть какие-либо проблемы со стороны сетевого поставщика.Это случилось и для меня тоже.Просто запустите приложение через некоторое время.Я надеюсь, что это может решить проблему.

...