0

当应用程序打开时,我在 onAttachedToWindow() 期间创建了一个新的谷歌地图实例,这在应用程序打开时工作正常。当我关闭应用程序并重新打开它时,谷歌地图无法正确加载,它只显示灰色瓷砖。

@Override
public void onAttachedToWindow() {
    if (hasCreated()) {
        uiGoogleMap = ((SupportMapFragment) getSupportFragmentManager().findFragmentById(R.id.map_content_map_fragment)).getMap();
    }
}

什么时候应该初始化谷歌地图以确保在应用程序关闭并重新打开时加载它?

编辑:我尝试在 onResume() 和 onCreate() 中初始化地图并得到同样的问题

4

2 回答 2

0

我认为最好的地方是创建一个扩展类SupportMapFragment,并在以下位置初始化地图:

@Override
public void onAttach(Activity activity)

除此之外,我认为如果您在onResume容器活动中初始化地图应该没问题。
但是,如果您通过初始化是指将 mapfragment 添加到活动中,我建议您在 xml 或活动的onCreate. 只是我的两便士。

于 2013-08-20T10:54:48.327 回答
0

在 Google API2 上,这个麻烦已经被消除了。您需要做的只是初始化您在 xml 上创建的地图。 uiGoogleMap = ((MapFragment) getFragmentManager().findFragmentById(R.id.map_content_map_fragment)) .getMap();
因此,当您关闭并重新打开它时,它将可用。无需覆盖任何东西。

于 2013-08-20T11:03:59.167 回答