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 剩余,所以我不会'预计不会崩溃。
如何渲染地图并将相机移动到给定的边界?
依赖版本:
com.google.android.libraries.maps:maps:3.1.0-beta
com.google.maps.android:maps-v3-ktx:2.2.0
androidx.compose.ui:ui:1.0.0-rc02
即使崩溃发生在 moveCamera
,问题似乎是由上面调用的 setPadding
引起的:
googleMap.setPadding(
0,
topPadding,
0,
0,
)
修复是确保填充不会超过地图大小的一半:
googleMap.setPadding(
0,
min(topPadding, map.height / 2 - 2),
0,
0,
)
当我在小屏幕上调用 moveCamera
时,它抛出以下异常:
java.lang.IllegalStateException: Illegal height.
这是我的代码:
googleMap.moveCamera(
CameraUpdateFactory.newLatLngBounds(
bounds,
// Padding
100,
),
)
我尝试删除填充,但没有任何区别。
我想这个问题与渲染地图的可用高度有限有关,因为这只发生在小屏幕上,但地图渲染还有相当多的 space 剩余,所以我不会'预计不会崩溃。
如何渲染地图并将相机移动到给定的边界?
依赖版本:
com.google.android.libraries.maps:maps:3.1.0-beta
com.google.maps.android:maps-v3-ktx:2.2.0
androidx.compose.ui:ui:1.0.0-rc02
即使崩溃发生在 moveCamera
,问题似乎是由上面调用的 setPadding
引起的:
googleMap.setPadding(
0,
topPadding,
0,
0,
)
修复是确保填充不会超过地图大小的一半:
googleMap.setPadding(
0,
min(topPadding, map.height / 2 - 2),
0,
0,
)