提问人:alstr 提问时间:11/8/2023 更新时间:11/20/2023 访问量:25
为什么在 onMapReady 中调用 getMapCapabilities 时会导致 NullPointerException?
Why does getMapCapabilities cause a NullPointerException when called in onMapReady?
问:
我正在检查我是否可以在给定设备上使用,方法是调用 。AdvancedMarkers
getMapCapabilities
@Override
public void onMapReady(@NonNull GoogleMap googleMap) {
MapCapabilities mapCapabilities = googleMap.getMapCapabilities();
但是,每次都会崩溃,并显示:NullPointerException
java.lang.NullPointerException: null reference
at com.google.android.gms.common.internal.Preconditions.checkNotNull(com.google.android.gms:play-services-basement@@18.1.0:1)
at com.google.android.gms.maps.model.MapCapabilities.<init>(com.google.android.gms:play-services-maps@@18.2.0:1)
at com.google.android.gms.maps.GoogleMap.getMapCapabilities(com.google.android.gms:play-services-maps@@18.2.0:1)
地图不是空的,所以我很困惑是什么不符合条件。checkNotNull
我在虚拟设备上运行,但我仍然没想到它会崩溃。
答:
0赞
alstr
11/20/2023
#1
出于某种原因,搬出导致它工作正常。我不完全确定为什么,因为重点是地图是......准备。getMapCapabilities()
onMapReady
onMapReady
我还发现,在不发生相同错误的情况下,不可能进行链接。我必须首先获得 ,然后单独检查是否有可用。map.getMapCabilities().isAdvancedMarkersAvailable()
MapCababilities
AdvancedMarkers
总而言之,这是一个有点奇怪的问题,它很可能与它在模拟器上运行的事实有关。文档并没有真正说明这一点。
评论