繁体   English   中英

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

[英]How to detect when map has finished resizing

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

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

来自文档:

在此处输入图片说明 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查看一下: 在此处输入图片说明

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

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

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

override fun onMapReady(googleMap: GoogleMap?) {}

并使用GoogleMap.OnMapLoadedCallback来确定更改后是否加载了地图。

 override fun onMapLoaded() {}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM