Пины карты приложения Android не отображаются до тех пор, пока не коснется экран - PullRequest
5 голосов
/ 06 октября 2010

У меня проблема с моим приложением.1-й экран, который появляется, представляет собой карту, на которой отображаются контакты, расположенные на основе файла XML, загруженного с нашего сервера.

Иногда приложение загружается, как ожидалось.В других случаях карта загружается, но ни один из выводов не появляется, пока вы не коснетесь экрана.

Есть идеи, почему это может происходить и что можно сделать, чтобы решить проблему?

Ответы [ 4 ]

6 голосов
/ 06 октября 2010

Иногда приложение загружается, как ожидалось.В других случаях карта загружается, но ни один из выводов не появляется до тех пор, пока вы не коснетесь экрана.

Если бы я догадался, это временная проблема - иногда ваш сервер реагирует достаточно быстро, чтобы получить выводыподобраны при начальном рендеринге карты, иногда нет.Я не знаю, как вы реализовали выборку сервера и набор выводов, но позвоните populate() на свой ItemizedOverlay (при условии, что это то, что вы используете) после того, как ваши выводы будут готовы, затем при необходимости вызовите invalidate() наMapView.

2 голосов
/ 06 октября 2010

У меня была похожая проблема в одном из моих проектов. Наложение на моем тестовом телефоне (Samsung G5) будет отображаться правильно, но на эмуляторе наложение будет отображаться только после действия с моей стороны (например, касания экрана). Позже я протестировал тот же проект на Nexus One, и поведение было таким же, как на эмуляторе.

Теперь я принудительно перерисовываю MapView, вызывая invalidate() в представлении карты после заполнения Overlay, как указано в CommonsWare.

1 голос
/ 16 ноября 2011

сколько контактов на карте ???если имеется много выводов, тогда используйте заполнение только один раз после того, как выводы будут готовы, в противном случае это займет много времени, так как каждое заполнение занимает много времени, поэтому используйте заполнение только один раз

0 голосов
/ 29 августа 2014

Другим подходом к решению этой проблемы может быть добавление GoogleMap.OnMapLoadedCallBack () для инициализации вашего дисплея.Тогда проблема времени полностью исчезнет.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...