Android Google 地图 moveCamera 原因 "IllegalStateException: Illegal height"

Android Google Maps moveCamera causes "IllegalStateException: Illegal height"

当我在小屏幕上调用 moveCamera 时,它抛出以下异常:

java.lang.IllegalStateException: Illegal height.

这是我的代码:

googleMap.moveCamera(
    CameraUpdateFactory.newLatLngBounds(
        bounds,
        // Padding
        100,
    ),
)

我尝试删除填充,但没有任何区别。

我想这个问题与渲染地图的可用高度有限有关,因为这只发生在小屏幕上,但地图渲染还有相当多的 space 剩余,所以我不会'预计不会崩溃。

如何渲染地图并将相机移动到给定的边界?


依赖版本:

即使崩溃发生在 moveCamera,问题似乎是由上面调用的 setPadding 引起的:

googleMap.setPadding(
    0,
    topPadding,
    0,
    0,
)

修复是确保填充不会超过地图大小的一半:

googleMap.setPadding(
    0,
    min(topPadding, map.height / 2 - 2),
    0,
    0,
)