Проблемы, когда моя активность при просмотре GoogleMap восстанавливает фокус (карта с черной зоной в нижней части окна) - PullRequest
1 голос
/ 24 ноября 2010

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

. Потому что мне нужно реализовать / переопределить метод onResume () для A, чтобы ПЕРЕЗАГРУЗИТЬ ДЕЯТЕЛЬНОСТЬ, ЧТОБЫ ЗАПИСАТЬ ВСЕ ОТ SRATCH .... КАК СДЕЛАТЬ СНОВАСПОСОБ СОЗДАНИЯ, но я думаю, что я не могу назвать это снова ... или я могу?

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

я пробовал со всемиэто:

- mapView.requestLayout() -> это немного работает, перерисовывает карту, но с масштабированием и отображением последней карты, показанной на B активности ... нет смысла: S я не хочу этого.Разные карты, не должны показывать одни и те же координаты и масштаб, у каждой есть свои.

- mapView.invalidate() -> не работает

- mapView.postInvaldiate() ->не работает

1 Ответ

4 голосов
/ 24 ноября 2010

Наличие нескольких карт (MapViews), запущенных в одном и том же процессе, не рекомендуется.Как правило, при использовании конфигурации по умолчанию все действия (включая MapActivities) выполняются в одном и том же процессе.

Согласно документации API, расположенной здесь http://code.google.com/android/add-ons/google-apis/reference/com/google/android/maps/MapActivity.html

Для каждого процесса поддерживается только одна MapActivity.Одновременное выполнение нескольких MapActivities может создавать неожиданные и нежелательные последствия.

Проблемы, с которыми я столкнулся при работе с несколькими MapViews в одном и том же процессе:

  • Хотя, как представляется, существует 2различные карты в приложении, изменения на первой карте (например, перемещение ее в определенную позицию, переключение вида спутника) также отражались на второй карте, как если бы это была та же карта.
  • Время от времени карты не загружались должным образом.Части карты или полная карта оставались пустыми.
  • В Logcat регистрировались ошибки пула соединений apache http (происходящие из TilesProvider)

Здесь зарегистрирован дефект:http://code.google.com/p/android/issues/detail?id=3756

Решение / обходной путь - разместить ваши карты в разных процессах:

<activity android:name=".MapView1" android:process=":MapView1">
<activity android:name=".MapView2" android:process=":MapView2">
...