【问题标题】:Android Google Maps moveCamera causes "IllegalStateException: Illegal height"Android Google Maps moveCamera 导致“IllegalStateException:非法高度”
【发布时间】:2021-10-11 06:13:21
【问题描述】:

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

java.lang.IllegalStateException: 非法高度。

这是我的代码:

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

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

我猜这个问题与可用于渲染地图的高度有限有关,因为这只发生在小屏幕上,但仍有相当多的空间可供地图渲染,所以我不希望发生崩溃。

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


依赖版本:

  • 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

【问题讨论】:

标签: java android kotlin google-maps-android-api-2 google-maps-android-api-3


【解决方案1】:

虽然崩溃发生在moveCamera,但问题似乎是由在它上面调用的setPadding引起的:

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

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-06-19
    • 1970-01-01
    • 2018-07-17
    • 2013-05-14
    • 1970-01-01
    相关资源
    最近更新 更多