Android:最初隐藏地图时未调用onMapLoaded

时间:2017-10-01 08:24:33

标签: android google-maps google-maps-api-3

我的活动中有一个FrameLayout包含SupportMapFragment。我已将此布局的可见性设置为最初隐藏。

在我的Map片段中,我覆盖了onMapLoaded()方法并加载了一些标记并使用边界进行缩放。我的活动有一些按钮,按下这些按钮使地图可见并居中在该位置,而不会弄乱初始缩放。

问题是,onMapLoaded在地图变得可见之前不会被调用(即只有在通过按钮点击更改了布局的可见性之后才会调用它)。因此,如果我启动应用程序并单击按钮,则使用默认缩放功能将标记中心映射到标记上。

即使地图被隐藏,如何确保调用onMapLoaded

注意我不是在寻找黑客代码来实现这一目标。如果我想要黑客,我可以让地图可见,并用一些全屏视图覆盖它以隐藏它。我正在寻找一个适当的解决方案如果确保onMapLoaded被调用,即使隐藏了地图片段(如果存在这样的解决方案)

1 个答案:

答案 0 :(得分:0)

Official Documentation中所述:

  

public abstract void onMapLoaded ()

     

地图完成渲染后调用。这只会被调用   一旦。如果您想收到通知,您必须请求另一个回调   试。

     

这是在Android UI线程上调用的。

因此,似乎无法在隐藏地图片段时调用它。此外,它更新被称为偶数地图是可见的,但由于用户经常与地图交互,它不断变化并且永远不会完成加载。"。