如何检测地图何时完成大小调整

时间:2019-07-18 08:01:53

标签: android ios google-maps

我需要实时更新一些依赖于地图坐标的UI元素位置。有时,我的UI布局会发生变化,并且地图会调整大小,然后会设置动画以调整为新的大小。我找不到一种方法来检测视图何时完成大小调整。

我可以轻松检测到相机移动事件,但是它们似乎并没有在调整大小时触发。

2 个答案:

答案 0 :(得分:1)

摘自文档:

enter image description here https://developers.google.com/android/reference/com/google/android/gms/maps/GoogleMap.OnMapLoadedCallback

对地图的任何更改都应在此回调内部完成,或者看看https://developers.google.com/android/reference/com/google/android/gms/maps/OnMapReadyCallback

要潜在地检查地图的大小,请从OnMapReadyCallback查看一下: enter image description here

这意味着您可能必须为特定地图实施ViewTreeObserver.OnGlobalLayoutListener,并据此可能在调整大小时实现更改。

答案 1 :(得分:1)

open class MapFragment() : BaseFragment(), OnMapReadyCallback,GoogleMap.OnMapLoadedCallback {
}

使用OnMapReadyCallback来了解地图是否已准备就绪或初始加载

override fun onMapReady(googleMap: GoogleMap?) {}

并使用GoogleMap.OnMapLoadedCallback,以了解更改后是否加载了地图。

 override fun onMapLoaded() {}