【发布时间】:2017-10-01 08:24:33
【问题描述】:
我的活动中有一个包含SupportMapFragment 的FrameLayout。我最初已将此布局的可见性设置为隐藏。
在我的地图片段中,我已经覆盖了onMapLoaded() 方法并正在加载一些标记并使用边界进行缩放。我的活动有一些按钮,当按下这些按钮时,可以使地图可见并以该位置为中心,而不会弄乱初始缩放。
问题是,onMapLoaded 在地图变得可见之前不会被调用(即只有在通过单击按钮更改布局的可见性后才会调用它。)。因此,如果我启动我的应用并单击按钮,地图将以默认缩放为中心位于标记上。
即使地图被隐藏,我如何确保onMapLoaded 被调用?
注意我并不是想破解我的代码来实现这一点。如果我想要破解,我可以让地图可见并用一些全屏视图覆盖它以隐藏它。我正在寻找一个合适的解决方案来即使地图片段被隐藏,如何确保 onMapLoaded 被调用(如果存在这样的解决方案)
【问题讨论】:
-
没有源代码很难帮你。
-
好吧,粘贴完整的源代码会很混乱,因为我使用自定义架构来加载标记和缩放,但是简单的问题是“如何确保 onMapLoaded 被调用,即使地图片段被隐藏”。这是不言自明的,所以我没有发布源代码。
-
地图无法加载的原因有很多:没有网络连接,没有权限等。试试all。
-
我认为这不是问题所在。请注意,我的地图已正确加载,但最初隐藏片段时会导致问题。即使在这种情况下,也会调用 onMapReady 但不会调用 onMapLoaded。只有当我使地图至少可见一次时才会调用它。
标签: android google-maps google-maps-api-3