经过几天的恐慌和沮丧以为我的API密钥错误,我发现我的MapView只会在我的应用程序加载屏幕的主要内容时才会加载。
每当我尝试将其附加到TabHost或尝试通过getDecorView()
在已存在的视图中加载时,地图都不会加载,我只会获得空白地图。
对我来说,在TabHost中使用非常重要。
有人知道如何修复它或为什么会发生这种情况?
答案 0 :(得分:2)
最终托管MapView
的活动必须为MapActivity
,至少在Android地图附加组件的当前版本中。< / p>
这可能导致混淆或彻头彻尾的问题,您试图让活动成为别的东西。
例如,有些人尝试使用TabActivity
,并使用活动作为标签的内容。现在已经正式弃用,恕我直言从来就不是一个特别好的模特。说到地图,即使您尝试加载到标签中的活动是MapActivity
,这并不重要 - 包含标签的活动必须是{{1} }。常见的解决方法是在MapActivity
中使用TabHost
和TabWidget
。虽然这确实需要调用MapActivity
上的setup()
,并且您丢失了一些辅助方法,但它已经过了这个问题。