当我的 googlemaps 视图活动重新获得焦点时出现问题(窗口下方有黑色区域的地图)
Posted
技术标签:
【中文标题】当我的 googlemaps 视图活动重新获得焦点时出现问题(窗口下方有黑色区域的地图)【英文标题】:Problems when my googlemaps view activity regain the focus (map with black zone in down part of the window) 【发布时间】:2010-11-24 17:29:11 【问题描述】:我的应用有问题,它有很多活动,其中两个有 googlemap 视图。我的 A 活动有一个完整的地图视图,而我的 B 活动有一个小地图视图。好的,当我在 B 活动上并有时按返回键直到我返回到我的 A 活动时,我的 A 活动地图显示错误,窗口下方有一个黑色区域。这仅在我从 B 活动中按下时才会发生。
因此,我需要实现/覆盖 A 的 onResume() 方法以重新启动从头开始重新绘制所有内容的活动.. 想再做一次 ONCREATE 方法,但我想我不能再调用它了.. . 或者我可以?
我必须输入哪些代码才能从头开始重新绘制所有窗口?
我尝试了所有这些:
-mapView.requestLayout()
--> 它有点作用,重新绘制地图,但缩放并显示 B 活动上显示的最后一张地图......没有意义:我不想要那个。是不同的地图,不必显示相同的坐标和缩放,每个都有自己的。
-mapView.invalidate()
--> 不起作用
-mapView.postInvaldiate()
--> 不起作用
【问题讨论】:
你在 B 中有 A 使用的东西吗?使用后退按钮将导致调用Activity.onDestroy()
。
不,我没有在 A 上使用 B ......
当您谈到错误和黑色区域时,您指的是地图图块(地图的方形部分)未正确加载吗?
不,黑色区域,不是方形部分
嗨,我在两个名为 bbaya 选项卡的活动上的两个地图之间存在完全相同的问题。我尝试使用清单 但不起作用。你是怎么解决你的问题的?
【参考方案1】:
不建议在同一进程中运行多个地图(MapViews)。通常,使用默认配置,所有活动(包括 MapActivities)都在同一进程中运行。
根据 api 文档,位于此处 http://code.google.com/android/add-ons/google-apis/reference/com/google/android/maps/MapActivity.html
每个进程只支持一个 MapActivity。同时运行的多个 MapActivity 可能会以意想不到的方式干扰。
我在同一进程中遇到多个 MapView 的问题:
虽然看起来有 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">
【讨论】:
以上是关于当我的 googlemaps 视图活动重新获得焦点时出现问题(窗口下方有黑色区域的地图)的主要内容,如果未能解决你的问题,请参考以下文章
FragmentStatePagerAdapter 视图分页器片段在活动重新创建后不显示